2007-03-22 03:00:33 +00:00
|
|
|
HEAP PROFILER
|
|
|
|
|
2007-03-22 03:28:56 +00:00
|
|
|
1) Fix heap profiling under all STLs
|
2007-03-22 03:00:33 +00:00
|
|
|
* Find out how to force non-glibc STL libraries to call new() and
|
|
|
|
delete() for every allocation / deallocation.
|
|
|
|
* Make heap profiler ignore STL-internal allocations for those
|
|
|
|
libraries under which we cannot profile accurately, so we only
|
|
|
|
see object-level leaks.
|
2007-03-22 03:28:56 +00:00
|
|
|
2) Remove dependency on tcmalloc?
|
2007-03-22 03:00:33 +00:00
|
|
|
3) Port to non-linux O/Ses (right now code uses /proc for library info)
|
2007-04-16 20:49:32 +00:00
|
|
|
4) Port to non-x86 architectures (locking code in spinlock is x86-specific)
|
2007-03-22 03:00:33 +00:00
|
|
|
5) Port to C?
|
2007-03-22 03:28:56 +00:00
|
|
|
6) Figure out how to get setenv() to work properly before main() in
|
|
|
|
shared libaries, and get rid of the profile-naming hack once we
|
|
|
|
do. (See HeapProfiler::Init().)
|
|
|
|
|
2007-03-22 03:00:33 +00:00
|
|
|
|
|
|
|
HEAP CHECKER
|
|
|
|
|
2007-04-16 20:49:32 +00:00
|
|
|
1) Remove requirement that the heap-checker must be linked last into
|
2007-03-22 03:00:33 +00:00
|
|
|
an application (hard! -- it needs its global constructor to run
|
|
|
|
first)
|
|
|
|
|
|
|
|
TCMALLOC
|
|
|
|
|
|
|
|
1) Implement mallinfo/mallopt
|
|
|
|
2) Have tcmalloc work correctly when libpthread is not linked in
|
2007-03-22 03:28:56 +00:00
|
|
|
(currently working for glibc, could use other libc's too)
|
2007-03-22 03:00:33 +00:00
|
|
|
3) Return memory to the system when requirements drop
|
|
|
|
4) Explore coloring allocated objects to avoid cache conflicts
|
|
|
|
5) Explore biasing reclamation to larger addresses
|
2007-04-16 20:49:32 +00:00
|
|
|
6) Add contention stats to a synchronization.cc (can do spinlocks,
|
|
|
|
but threads? -- may have to provide our own thread implementation)
|
2007-03-22 03:00:33 +00:00
|
|
|
|
2007-03-22 03:28:56 +00:00
|
|
|
CPU PROFILER
|
|
|
|
|
|
|
|
1) Figure out how to get setenv() to work properly before main() in
|
|
|
|
shared libaries(), and get rid of the profile-naming hack once we
|
2007-04-16 20:49:32 +00:00
|
|
|
do. (See Profiler::GetUniquePathFromEnv().)
|
|
|
|
2) Resolve crashing problems on x86_64 (see README)
|
2007-03-22 03:28:56 +00:00
|
|
|
|
2007-03-22 03:00:33 +00:00
|
|
|
STACKTRACE
|
|
|
|
|
|
|
|
1) Document and advertise libstacktrace
|
|
|
|
2) Remove dependency on linux/x86
|
|
|
|
|
2007-03-22 03:28:56 +00:00
|
|
|
---
|
2007-04-16 20:49:32 +00:00
|
|
|
4 April 2007
|