• Austin Clements's avatar
    runtime/pprof: clean up call/return PCs in memory profiles · 1dc0f969
    Austin Clements authored
    Proto profile conversion is inconsistent about call vs return PCs in
    profile locations. The proto defines locations to be call PCs. This is
    what we do when proto-izing CPU profiles, but we fail to convert the
    return PCs in memory and count profile stacks to call PCs when
    converting them to proto locations.
    
    Fix this in the heap and count profile conversion functions.
    TestConvertMemProfile also hard-codes this failure to convert from
    return PCs to call PCs, so fix up the addresses in the synthesized
    profile to be return PCs while checking that we get call PCs out of
    the conversion.
    
    Change-Id: If1fc028b86fceac6d71a2d9fa6c41ff442c89296
    Reviewed-on: https://go-review.googlesource.com/42951
    Run-TryBot: Austin Clements <austin@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarMichael Matloob <matloob@golang.org>
    1dc0f969
protomem.go 2.82 KB