Description[PartitionAlloc] Annotate common Blink types for heap profiling
This annotates a few common types in Blink and WTF to unconditionally
provide type information. This will enable getting type info from the
heap profiler even in official builds, albeit with less detail. It will
not be possible to get the long tail in official builds. Depending on
the page, the annotated types can make up 30 to 70 percent of the
PartitionAlloc heap.
The types annotated are:
- char
- blink::CSSSelector
- blink::CSSValue
- blink::ImmutableStylePropertySet
- blink::InvalidationSet
- blink::Node
- blink::Resource
- blink::SharedBuffer
- blink::StyleRule
- WTF::StringImpl
Type info about |char| is available only when allocated via variants of
|PartitionAllocator::allocateVectorBacking|. This is a large portion of
all char's but not 100%.
The annotated types are the ten types that on average make up the
largest portion of the PartitionAlloc heap, and which can be annotated
easily. Types like |WTF::StringImpl*| are in the top ten too, but most
of these are not stored in vector backing.
This is part of the heap profiler in chrome://tracing.
BUG=524631
Committed: https://crrev.com/ba2eebd19776527566625c066495dd31565b0002
Cr-Commit-Position: refs/heads/master@{#362687}
Patch Set 1 #
Total comments: 2
Patch Set 2 : Remove redundancy from macro #
Total comments: 2
Patch Set 3 : Document macros #Patch Set 4 : Mark template specialisations as WTF_EXPORT #Messages
Total messages: 16 (4 generated)
|