mirror of
https://github.com/gperftools/gperftools
synced 2024-12-19 14:00:02 +00:00
91fad38978
* google-perftools: version 0.2 release * Use mmap2() instead of mmap(), to map more memory (menage) * Do correct pthread-local checking in heap-checker! (maxim) * Avoid overflow on 64-bit machines in pprof (sanjay) * Add a few more GetPC() functions, including for AMD (csilvers) * Better method for overriding pthread functions (menage) * (Hacky) fix to avoid overwriting profile files after fork() (csilvers) * Crashing bugfix involving dumping heaps on small-stack threads (tudor) * Allow library versions with letters at the end (csilvers) * Config fixes for systems that don't define PATH_MAX (csilvers) * Confix fixes so we no longer need config.h after install (csilvers) * Fix to pprof to correctly read very big cpu profiles (csilvers) * Fix to pprof to deal with new commandline flags in modern gv's * Better error reporting when we can't access /proc/maps (etune) * Get rid of the libc-preallocate code (which could crash on some systems); no longer needed with local-threads fix (csilvers) git-svn-id: http://gperftools.googlecode.com/svn/trunk@11 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
49 lines
1.6 KiB
Plaintext
49 lines
1.6 KiB
Plaintext
HEAP PROFILER
|
|
|
|
1) Fix heap profiling under all STLs
|
|
* 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.
|
|
2) Remove dependency on tcmalloc?
|
|
3) Port to non-linux O/Ses (right now code uses /proc for library info)
|
|
4) Port to non-x86 architectures (locking code in internal_spinlock is
|
|
x86-specific)
|
|
5) Port to C?
|
|
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().)
|
|
|
|
|
|
HEAP CHECKER
|
|
|
|
[1) Uses heap profiler, so its TODOs apply here as well]
|
|
2) Remove requirement that the heap-checker must be linked last into
|
|
an application (hard! -- it needs its global constructor to run
|
|
first)
|
|
3) Improve heap_checker.html documentation.
|
|
|
|
TCMALLOC
|
|
|
|
1) Implement mallinfo/mallopt
|
|
2) Have tcmalloc work correctly when libpthread is not linked in
|
|
(currently working for glibc, could use other libc's too)
|
|
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
|
|
|
|
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
|
|
do. (See ProfileData::ProfileData().)
|
|
|
|
STACKTRACE
|
|
|
|
1) Document and advertise libstacktrace
|
|
2) Remove dependency on linux/x86
|
|
|
|
---
|
|
20 May 2005
|