[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bugs-dist
Subject: [valgrind] [Bug 371916] execution tree xtree concept
From: Julian Seward <bugzilla_noreply () kde ! org>
Date: 2016-11-10 18:22:45
Message-ID: bug-371916-17878-81xmjaivOm () http ! bugs ! kde ! org/
[Download RAW message or body]
https://bugs.kde.org/show_bug.cgi?id=371916
--- Comment #18 from Julian Seward <jseward@acm.org> ---
Some comments on the v3 patch:
Mostly it looks fine. Below [1] some small comments.
Larger comments:
* I assume there are no regressions with correctness or performance
with this, yes? Could you do a self-host Memcheck run at some point?
* The large size of the patch concerns me a bit. I would be happier
if it could be split into two parts:
(1) that creates m_xtree.c and refactors Massif to use it, but
does not change the user-visible functionality at all. So
it is an implementation-only change, and
(2) a patch that builds on (1), that supplies the new functionality.
Is that possible, if it is not a lot of work?
[1] Small comments:
----------------
+typedef
+ struct { Addr a; const HChar* sym_name; PtrdiffT offset; }
+ Sym_Name_CacheEnt;
I prefer to have something more descriptive than just "a" for the
first field. Since it is debug-info related, it would also be good to
clarify whether this is an SVMA or an AVMA or something else, per
comment at the top of m_debuginfo/debuginfo.c. I suspect it's a SVMA,
in which case a good name would by "sym_svma".
----------------
+" --xtree-memory=none|allocs|full profile heap memory in an xtree
[none]\n"
+" and produces a report at the end of the
execution\n"
+" none: no profiling, allocs: current
allocated\n"
+" size/blocks, full: profile current and
cumulative\n"
+" allocated size/blocks and freed size/blocks.\n"
+" --xtree-memory-file=<file> xtree memory report file
[xtmemory.kcg.%%p]\n"
This flag only has effect for tools that replace malloc, correct? Is
it listed in the section "user options for Valgrind tools that replace
malloc:" ?
----------------
+ This file is part of Valgrind, a dynamic binary instrumentation
+ framework.
+
+ Copyright (C) 2016-2016 Philippe Waroquiers
For m_xtree.c, if there is a lot of code in there which has been moved
from massif and/or callgrind, and is not much changed, I think it
would be diplomatic to add a line or two explaining that the original
authors were Nick and/or Josef. See the top of coregrind/m_wordfm.c for
an example.
----------------
// growing such a block, but for consistency (it also simplifies things) we
// ignore such reallocs as well.
+// XTREE??? why can't we just consider that a realloc of an ignored
+// alloc is just a new alloc (i.e. do not remove the old sz from the stats).
and again later. The "XTREE???" is confusing -- I don't know what it
signifies. Can you maybe write instead something like "PW Nov 2016,
xtree work:"? I do that in comments from time to time.
----------------
Per previous comments in the bug re CamelCase vs snake_case, I really
have no problem mixing them. I like to use camelcase, with a capital
first letter for type names, and snake case when function names get
long. But no fixed rules.
--
You are receiving this mail because:
You are watching all bug changes.=
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic