[llvm-dev] RFC: Sanitizer-based Heap Profiler
Xinliang David Li via llvm-dev
llvm-dev at lists.llvm.org
Thu Jul 8 10:03:59 PDT 2021
On Thu, Jul 8, 2021 at 9:04 AM Teresa Johnson <tejohnson at google.com> wrote:
>
>
> On Thu, Jul 8, 2021 at 8:56 AM Andrey Bokhanko <andreybokhanko at gmail.com>
> wrote:
>
>> On Thu, Jul 8, 2021 at 6:25 PM Teresa Johnson <tejohnson at google.com>
>> wrote:
>>
>>> Responding to this one first, I'll respond to your other email shortly.
>>> Initially we plan to provide hints to tcmalloc via new APIs to help it make
>>> allocation decisions (things like hotness and lifetime). The compiler will
>>> be responsible for adding these hints, using some method to disambiguate
>>> the calling context (e.g. via function cloning, new parameter, etc).
>>>
>> Sounds good -- thanks!
>>
>> (though this would increase code size and thus, instruction cache
>> pressure -- tsk, tsk... :-))
>>
>
> There are various methods for disambiguating the contexts (e.g. HALO
> inserts some instructions at a minimal number of callsites to do this), and
> I suspect a hybrid method will be best in practice. E.g. cloning for hot
> allocation contexts or callsites, and instructions or parameters or
> something else on colder allocation contexts and callsites, to balance the
> code size and dynamic instruction overheads.
>
Right -- static disambiguation is suitable for hot allocation sites which
are sensitive to any overhead added.
David
>
>
> --
> Teresa Johnson | Software Engineer | tejohnson at google.com |
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210708/ce0f127f/attachment.html>
More information about the llvm-dev
mailing list