1 Fri Feb 03 15:40:45 2012 Google Inc. <google-perftools (a] googlegroups.com> 2 3 * gperftools: version 2.0 4 * Renamed the project from google-perftools to gperftools (csilvers) 5 * Renamed the .deb/.rpm packagse from google-perftools to gperftools too 6 * Renamed include directory from google/ to gperftools/ (csilvers) 7 * Changed the 'official' perftools email in setup.py/etc 8 * Renamed google-perftools.sln to gperftools.sln 9 * PORTING: Removed bash-isms & grep -q in heap-checker-death_unittest.sh 10 * Changed copyright text to reflect Google's relinquished ownership 11 12 Tue Jan 31 10:43:50 2012 Google Inc. <opensource (a] google.com> 13 14 * google-perftools: version 1.10 release 15 * PORTING: Support for patching assembly on win x86_64! (scott.fr...) 16 * PORTING: Work around atexit-execution-order bug on freebsd (csilvers) 17 * PORTING: Patch _calloc_crt for windows (roger orr) 18 * PORTING: Add C++11 compatibility method for stl allocator (jdennett) 19 * PORTING: use MADV_FREE, not MADV_DONTNEED, on freebsd (csilvers) 20 * PORTING: Don't use SYS_open when not supported on solaris (csilvers) 21 * PORTING: Do not assume uname() returns 0 on success (csilvers) 22 * LSS: Improved ARM support in linux-syscall-support (dougkwan) 23 * LSS: Get rid of unused syscalls in linux-syscall-support (csilvers) 24 * LSS: Fix broken mmap wrapping for ppc (markus) 25 * LSS: Emit .cfi_adjust_cfa_offset when appropriate (ppluzhnikov) 26 * LSS: Be more accurate in register use in __asm__ (markus) 27 * LSS: Fix __asm__ calls to compile under clang (chandlerc) 28 * LSS: Fix ARM inline assembly bug around r7 and swi (lcwu) 29 * No longer log when an allocator fails (csilvers) 30 * void* -> const void* for MallocExtension methods (llib) 31 * Improve HEAP_PROFILE_MMAP and fix bugs with it (dmikurube) 32 * Replace int-based abs with more correct fabs in a test (pmurin) 33 34 Thu Dec 22 16:22:45 2011 Google Inc. <opensource (a] google.com> 35 36 * google-perftools: version 1.9 release 37 * Lightweight check for double-frees (blount) 38 * BUGFIX: Fix pprof to exit properly if run with no args (dagitses) 39 * Suggest ASan as a way to diagnose buggy code (ppluzhnikov) 40 * Get rid of unused CACHELINE_SIZE (csilvers) 41 * Replace atexit() calls with global dtors; helps freebsd (csilvers) 42 * Disable heap-checker under AddressSanitizer (kcc) 43 * Fix bug in powerpc stacktracing (ppluzhnikov) 44 * PERF: Use exponential backoff waiting for spinlocks (m3b) 45 * Fix 64-bit nm on 32-bit binaries in pprof (csilvers) 46 * Add ProfileHandlerDisallowForever (rsc) 47 * BUGFIX: Shell escape when forking in pprof (csilvers) 48 * No longer combine overloaded functions in pprof (csilvers) 49 * Fix address-normalizing bug in pprof (csilvers) 50 * More consistently call abort() instead of exit() on failure (csilvers) 51 * Allow NoGlobalLeaks to be safely called more than once (csilvers) 52 * PORTING/BUGFIX: Fix ARM cycleclock to use volatile asm (dougkwan) 53 * PORTING: 64-bit atomic ops for ARMv7 (dougkwan) 54 * PORTING: Implement stacktrace for ARM (dougkwan) 55 * PORTING: Fix malloc_hook_mmap_linux for ARM (dougkwan) 56 * PORTING: Update linux_syscall_support.h for ARM/etc (evannier, sanek) 57 * PORTING: Fix freebsd to work on x86_64 (chapp... (a] gmail.com) 58 * PORTING: Added additional SYS_mmap fixes for FreeBSD (chappedm) 59 * PORTING: Allow us to compile on OS X 10.6 and run on 10.5 (raltherr) 60 * PORTING: Check for mingw compilers that *do* define timespec 61 * PORTING: Add "support" for MIPS cycletimer 62 * PORTING: Fix fallback cycle-timer to work with Now (dougkwan) 63 * PERF: Move stack trace collecting out of the mutex (taylorc) 64 * PERF: Get the deallocation stack trace outside the mutex (sean) 65 * Make PageHeap dynamically allocated for leak checks (maxim) 66 * BUGFIX: Fix probing of nm -f behavior in pprof (dpeng) 67 * BUGFIX: Fix a race with the CentralFreeList lock before main (sanjay) 68 * Support /pprof/censusprofile url arguments (rajatjain) 69 * Change IgnoreObject to return its argument (nlewycky) 70 * Update malloc-hook files to support more CPUs 71 * BUGFIX: write our own strstr to avoid libc problems (csilvers) 72 * Use simple callgrind compression facility in pprof 73 * Print an error message when we can't run pprof to symbolize (csilvers) 74 * Die in configure when g++ is't installed (csilvers) 75 * DOC: Beef up the documentation a bit about using libunwind (csilvers) 76 77 Fri Aug 26 13:29:25 2011 Google Inc. <opensource (a] google.com> 78 79 * google-perftools: version 1.8.3 release 80 * Added back the 'pthreads unsafe early' #define, needed for FreeBSD 81 82 Thu Aug 11 15:01:47 2011 Google Inc. <opensource (a] google.com> 83 84 * google-perftools: version 1.8.2 release 85 * Fixed calculation of patchlevel, 'make check' should all pass again 86 87 Tue Jul 26 20:57:51 2011 Google Inc. <opensource (a] google.com> 88 89 * google-perftools: version 1.8.1 release 90 * Added an #include to fix compile breakage on latest gcc's 91 * Removed an extra , in the configure.ac script 92 93 Fri Jul 15 16:10:51 2011 Google Inc. <opensource (a] google.com> 94 95 * google-perftools: version 1.8 release 96 * PORTING: (Disabled) support for patching mmap on freebsd (chapp...) 97 * PORTING: Support volatile __malloc_hook for glibc 2.14 (csilvers) 98 * PORTING: Use _asm rdtsc and __rdtsc to get cycleclock in windows (koda) 99 * PORTING: Fix fd vs. HANDLE compiler error on cygwin (csilvers) 100 * PORTING: Do not test memalign or double-linking on OS X (csilvers) 101 * PORTING: Actually enable TLS on windows (jontra) 102 * PORTING: Some work to compile under Native Client (krasin) 103 * PORTING: deal with pthread_once w/o -pthread on freebsd (csilvers) 104 * Rearrange libc-overriding to make it easier to port (csilvers) 105 * Display source locations in pprof disassembly (sanjay) 106 * BUGFIX: Actually initialize allocator name (mec) 107 * BUGFIX: Keep track of 'overhead' bytes in malloc reporting (csilvers) 108 * Allow ignoring one object twice in the leak checker (glider) 109 * BUGFIX: top10 in pprof should print 10 lines, not 11 (rsc) 110 * Refactor vdso source files (tipp) 111 * Some documentation cleanups 112 * Document MAX_TOTAL_THREAD_CACHE_SIZE <= 1Gb (nsethi) 113 * Add MallocExtension::GetOwnership(ptr) (csilvers) 114 * BUGFIX: We were leaving out a needed $(top_srcdir) in the Makefile 115 * PORTING: Support getting argv0 on OS X 116 * Add 'weblist' command to pprof: like 'list' but html (sanjay) 117 * Improve source listing in pprof (sanjay) 118 * Cap cache sizes to reduce fragmentation (ruemmler) 119 * Improve performance by capping or increasing sizes (ruemmler) 120 * Add M{,un}mapReplacmenet hooks into MallocHook (ribrdb) 121 * Refactored system allocator logic (gangren) 122 * Include cleanups (csilvers) 123 * Add TCMALLOC_SMALL_BUT_SLOW support (ruemmler) 124 * Clarify that tcmalloc stats are MiB (robinson) 125 * Remove support for non-tcmalloc debugallocation (blount) 126 * Add a new test: malloc_hook_test (csilvers) 127 * Change the configure script to be more crosstool-friendly (mcgrathr) 128 * PORTING: leading-underscore changes to support win64 (csilvers) 129 * Improve debugallocation tc_malloc_size (csilvers) 130 * Extend atomicops.h and cyceclock to use ARM V6+ optimized code (sanek) 131 * Change malloc-hook to use a list-like structure (llib) 132 * Add flag to use MAP_PRIVATE in memfs_malloc (gangren) 133 * Windows support for pprof: nul and /usr/bin/file (csilvers) 134 * TESTING: add test on strdup to tcmalloc_test (csilvers) 135 * Augment heap-checker to deal with no-inode maps (csilvers) 136 * Count .dll/.dylib as shared libs in heap-checker (csilvers) 137 * Disable sys_futex for arm; it's not always reliable (sanek) 138 * PORTING: change lots of windows/port.h macros to functions 139 * BUGFIX: Generate correct version# in tcmalloc.h on windows (csilvers) 140 * PORTING: Some casting to make solaris happier about types (csilvers) 141 * TESTING: Disable debugallocation_test in 'minimal' mode (csilvers) 142 * Rewrite debugallocation to be more modular (csilvers) 143 * Don't try to run the heap-checker under valgrind (ppluzhnikov) 144 * BUGFIX: Make focused stat %'s relative, not absolute (sanjay) 145 * BUGFIX: Don't use '//' comments in a C file (csilvers) 146 * Quiet new-gcc compiler warnings via -Wno-unused-result, etc (csilvers) 147 148 Fri Feb 04 15:54:31 2011 Google Inc. <opensource (a] google.com> 149 150 * google-perftools: version 1.7 release 151 * Reduce page map key size under x86_64 by 4.4MB (rus) 152 * Remove a flaky malloc-extension test (fdabek) 153 * Improve the performance of PageHeap::New (ond..., csilvers) 154 * Improve sampling_test with no-inline additions/etc (fdabek) 155 * 16-byte align debug allocs (jyasskin) 156 * Change FillProcSelfMaps to detect out-of-buffer-space (csilvers) 157 * Document the need for sampling to use GetHeapSample (csilvers) 158 * Try to read TSC frequency from tsc_freq_khs (adurbin) 159 * Do better at figuring out if tests are running under gdb (ppluzhnikov) 160 * Improve spinlock contention performance (ruemmler) 161 * Better internal-function list for pprof's /contention (ruemmler) 162 * Speed up GoogleOnce (m3b) 163 * Limit number of incoming/outgoing edges in pprof (sanjay) 164 * Add pprof --evince to go along with --gv (csilvers) 165 * Document the various ways to get heap-profiling information (csilvers) 166 * Separate out synchronization profiling routines (ruemmler) 167 * Improve malloc-stats output to be more understandable (csilvers) 168 * Add support for census profiler in pporf (nabeelmian) 169 * Document how pprof's /symbol must support GET requests (csilvers) 170 * Improve acx_pthread.m4 (ssuomi, liujisi) 171 * Speed up pprof's ExtractSymbols (csilvers) 172 * Ignore some known-leaky (java) libraries in the heap checker (davidyu) 173 * Make kHideMask use all 64 bits in tests (ppluzhnikov) 174 * Clean up pprof input-file handling (csilvers) 175 * BUGFIX: Don't crash if __environ is NULL (csilvers) 176 * BUGFIX: Fix totally broken debugallocation tests (csilvers) 177 * BUGFIX: Fix up fake_VDSO handling for unittest (ppluzhnikov) 178 * BUGFIX: Suppress all large allocs when report threshold is 0 (lexie) 179 * BUGFIX: mmap2 on i386 takes an off_t, not off64_t (csilvers) 180 * PORTING: Add missing PERFTOOLS_DLL_DECL (csilvers) 181 * PORTING: Add stddef.h to make newer gcc's happy (csilvers) 182 * PORTING: Document some tricks for working under OS X (csilvers) 183 * PORTING: Don't try to check valgrind for windows (csilvers) 184 * PORTING: Make array-size a var to compile under clang (chandlerc) 185 * PORTING: No longer hook _aligned_malloc and _aligned_free (csilvers) 186 * PORTING: Quiet some gcc warnings (csilvers) 187 * PORTING: Replace %PRIxPTR with %p to be more portable (csilvers) 188 * PORTING: Support systems that capitalize /proc weirdly (sanek) 189 * PORTING: Treat arm3 the same as arm5t in cycletimer (csilvers) 190 * PORTING: Update windows logging to not allocate memory (csilvers) 191 * PORTING: avoid double-patching newer windows DLLs (roger.orr) 192 * PORTING: get dynamic_annotations.c to work on windows (csilvers) 193 * Add pkg-config .pc files for the 5 libraries we produce (csilvers) 194 * Added proper libtool versioning, so this lib will be 0.1.0 (csilvers) 195 * Moved from autoconf 2.64 to 2.65 196 197 Thu Aug 5 12:48:03 PDT 2010 Google Inc. <opensource (a] google.com> 198 199 * google-perftools: version 1.6 release 200 * Add tc_malloc_usable_size for compatibility with glibc (csilvers) 201 * Override malloc_usable_size with tc_malloc_usable_size (csilvers) 202 * Default to no automatic heap sampling in tcmalloc (csilvers) 203 * Add -DTCMALLOC_LARGE_PAGES, a possibly faster tcmalloc (rus) 204 * Make some functions extern "C" to avoid false ODR warnings (jyasskin) 205 * pprof: Add SVG-based output (rsc) 206 * pprof: Extend pprof --tools to allow per-tool configs (csilvers) 207 * pprof: Improve support of 64-bit and big-endian profiles (csilvers) 208 * pprof: Add interactive callgrind suport (weidenri...) 209 * pprof: Improve address->function mapping a bit (dpeng) 210 * Better detection of when we're running under valgrind (csilvers) 211 * Better CPU-speed detection under valgrind (saito) 212 * Use, and recommend, -fno-builtin-malloc when compiling (csilvers) 213 * Avoid false-sharing of memory between caches (bmaurer) 214 * BUGFIX: Fix heap sampling to use correct alloc size (bmauer) 215 * BUGFIX: Avoid gcc 4.0.x bug by making hook-clearing atomic (csilvers) 216 * BUGFIX: Avoid gcc 4.5.x optimization bug (csilvers) 217 * BUGFIX: Work around deps-determining bug in libtool 1.5.26 (csilvers) 218 * BUGFIX: Fixed test to use HAVE_PTHREAD, not HAVE_PTHREADS (csilvers) 219 * BUGFIX: Fix tls callback behavior on windows when using wpo (wtc) 220 * BUGFIX: properly align allocation sizes on Windows (antonm) 221 * BUGFIX: Fix prototypes for tcmalloc/debugalloc wrt throw() (csilvers) 222 * DOC: Updated heap-checker doc to match reality better (fischman) 223 * DOC: Document ProfilerFlush, ProfilerStartWithOptions (csilvers) 224 * DOC: Update docs for heap-profiler functions (csilvers) 225 * DOC: Clean up documentation around tcmalloc.slack_bytes (fikes) 226 * DOC: Renamed README.windows to README_windows.txt (csilvers) 227 * DOC: Update the NEWS file to be non-empty (csilvers) 228 * PORTING: Fix windows addr2line and nm with proper rc code (csilvers) 229 * PORTING: Add CycleClock and atomicops support for arm 5 (sanek) 230 * PORTING: Improve PC finding on cygwin and redhat 7 (csilvers) 231 * PORTING: speed up function-patching under windows (csilvers) 232 233 Tue Jan 19 14:46:12 2010 Google Inc. <opensource (a] google.com> 234 235 * google-perftools: version 1.5 release 236 * Add tc_set_new_mode (willchan) 237 * Make memalign functions + realloc respect tc_set_new_mode (willchan) 238 * Add ReleaseToSystem(num_bytes) (kash) 239 * Handle zero-length symbols a bit better in pprof (csilvers) 240 * Prefer __environ to /proc/self/environ in cpu profiler (csilvers) 241 * Add HEAP_CHECK_MAX_LEAKS flag to control #leaks to report (glider) 242 * Add two new numeric pageheap properties to MallocExtension (fikes) 243 * Print alloc size when mmap fails (hakon) 244 * Add ITIMER_REAL support to cpu profiler (csilvers, nabeelmian) 245 * Speed up symbolizer in heap-checker reporting (glider) 246 * Speed up futexes with FUTEX_PRIVATE_FLAG (m3b) 247 * Speed up tcmalloc but doing better span coalescing (sanjay) 248 * Better support for different wget's and addr2maps in pprof (csilvres) 249 * Implement a nothrow version of delete and delete[] (csilvers) 250 * BUGFIX: fix a race on module_libcs[i] in windows patching (csilvers) 251 * BUGFIX: Fix debugallocation to call cpp_alloc for new (willchan) 252 * BUGFIX: A simple bugfix for --raw mode (mrabkin) 253 * BUGFIX: Fix C shims to actually be valid C (csilvers) 254 * BUGFIX: Fix recursively-unmapped-region accounting (ppluzhnikov) 255 * BUGFIX: better distinguish real and fake vdso (ppluzhnikov) 256 * WINDOWS: replace debugmodule with more reliable psai (andrey) 257 * PORTING: Add .bundle as another shared library extension (csilvers) 258 * PORTING: Fixed a typo bug in the ocnfigure PRIxx m4 macro (csilvers) 259 * PORTING: Augment sysinfo to work on 64-bit OS X (csilvers) 260 * PORTING: Use sys/ucontext.h to fix compiing on OS X 10.6 (csilvers) 261 * PORTING: Fix sysinfo libname reporting for solaris x86 (jeffrey) 262 * PORTING: Use libunwind for i386 when using --omitfp (ppluzhnikov) 263 264 Thu Sep 10 13:51:15 2009 Google Inc. <opensource (a] google.com> 265 266 * google-perftools: version 1.4 release 267 * Add debugallocation library, to catch memory leaks, stomping, etc 268 * Add --raw mode to allow for delayed processing of pprof files 269 * Use less memory when reading CPU profiles 270 * New environment variables to control kernel-allocs (sbrk, memfs, etc) 271 * Add MarkThreadBusy(): performance improvement 272 * Remove static thread-cache-size code; all is dynamic now 273 * Add new HiddenPointer class to heap checker 274 * BUGFIX: pvalloc(0) allocates now (found by new debugalloc library) 275 * BUGFIX: valloc test (not implementation) no longer overruns memory 276 * BUGFIX: GetHeapProfile no longer deadlocks 277 * BUGFIX: Support unmapping memory regions before main 278 * BUGFIX: Fix some malloc-stats formatting 279 * BUGFIX: Don't crash as often when freeing libc-allocated memory 280 * BUGFIX: Deal better with incorrect PPROF_PATH when symbolizing 281 * BUGFIX: weaken new/delete/etc in addition to malloc/free/etc 282 * BUGFIX: Fix return value of GetAllocatedSize 283 * PORTING: Fix mmap-#define problem on some 64-bit systems 284 * PORTING: Call ranlib again (some OS X versions need it) 285 * PORTING: Fix a leak when building with LLVM 286 * PORTING: Remove some unneeded bash-ishs from testing scripts 287 * WINDOWS: Support library unloading as well as loading 288 * WINDOWS/BUGFIX: Set page to 'xrw' instead of 'rw' when patching 289 290 Tue Jun 9 18:19:06 2009 Google Inc. <opensource (a] google.com> 291 292 * google-perftools: version 1.3 release 293 * Provide our own name for memory functions: tc_malloc, etc (csilvers) 294 * Weaken memory-alloc functions so user can override them (csilvers) 295 * Remove meaningless delete(nothrow) and delete[](nothrow) (csilvers) 296 * BUILD: replace clever libtcmalloc/profiler.a with a new .a (csilvers) 297 * PORTING: improve windows port by using google spinlocks (csilvers) 298 * PORTING: Fix RedHat 9 memory allocation in heapchecker (csilvers) 299 * PORTING: Rename OS_WINDOWS macro to PLATFORM_WINDOWS (mbelshe) 300 * PORTING/BUGFIX: Make sure we don't clobber GetLastError (mbelshe) 301 * BUGFIX: get rid of useless data for callgrind (weidenrinde) 302 * BUGFIX: Modify windows patching to deadlock sometimes (csilvers) 303 * BUGFIX: an improved fix for hook handling during fork (csilvers) 304 * BUGFIX: revamp profiler_unittest.sh, which was very broken (csilvers) 305 306 Fri Apr 17 16:40:48 2009 Google Inc. <opensource (a] google.com> 307 308 * google-perftools: version 1.2 release 309 * Allow large_alloc_threshold=0 to turn it off entirely (csilvers) 310 * Die more helpfully when out of memory for internal data (csilvers) 311 * Refactor profile-data gathering, add a new unittest (cgd, nabeelmian) 312 * BUGFIX: fix rounding errors with static thread-size caches (addi) 313 * BUGFIX: disable hooks better when forking in leak-checker (csilvers) 314 * BUGFIX: fix realloc of crt pointers on windows (csilvers) 315 * BUGFIX: do a better job of finding binaries in .sh tests (csilvers) 316 * WINDOWS: allow overriding malloc/etc instead of patching (mbelshe) 317 * PORTING: fix compilation error in a ppc-specific file (csilvers) 318 * PORTING: deal with quirks in cygwin's /proc/self/maps (csilvers) 319 * PORTING: use 'A' version of functions for ascii input (mbelshe) 320 * PORTING: generate .so's on cygwin and mingw (ajenjo) 321 * PORTING: disable profiler methods on cygwin (jperkins) 322 * Updated autoconf version to 2.61 and libtool version to 1.5.26 323 324 Wed Mar 11 11:25:34 2009 Google Inc. <opensource (a] google.com> 325 326 * google-perftools: version 1.1 release 327 * Dynamically resize thread caches -- nice perf. improvement (kash) 328 * Add VDSO support to give better stacktraces in linux (ppluzhnikov) 329 * Improve heap-profiling sampling algorithm (ford) 330 * Rewrite leak-checking code: should be faster and more robust (sanjay) 331 * Use ps2 instead of ps for dot: better page cropping for gv (csilvers) 332 * Disable malloc-failure warning messages by default (csilvers) 333 * Update config/Makefile to disable tests on a per-OS basis (csilvers) 334 * PORTING: Get perftools compiling under MSVC 7.1 again (csilvers) 335 * PORTING: Get perftools compiling under cygwin again (csilvers) 336 * PORTING: automatically set library flags for solaris x86 (csilvers) 337 * Add TCMALLOC_SKIP_SBRK to mirror TCMALLOC_SKIP_MMAP (csilvers) 338 * Add --enable flags to allow selective building (csilvers) 339 * Put addr2line-pdb and nm-pdb in proper output directory (csilvers) 340 * Remove deprecated DisableChecksIn (sanjay) 341 * DOCUMENTATION: Document most MallocExtension routines (csilvers) 342 343 Tue Jan 6 13:58:56 2009 Google Inc. <opensource (a] google.com> 344 345 * google-perftools: version 1.0 release 346 * Exactly the same as 1.0rc2 347 348 Sun Dec 14 17:10:35 2008 Google Inc. <opensource (a] google.com> 349 350 * google-perftools: version 1.0rc2 release 351 * Fix compile error on 64-bit systems (casting ptr to int) (csilvers) 352 353 Thu Dec 11 16:01:32 2008 Google Inc. <opensource (a] google.com> 354 355 * google-perftools: version 1.0rc1 release 356 * Replace API for selectively disabling heap-checker in code (sanjay) 357 * Add a pre-mmap hook (daven, adlr) 358 * Add MallocExtension interface to set memory-releasing rate (fikes) 359 * Augment pprof to allow any string ending in /pprof/profile (csilvers) 360 * PORTING: Rewrite -- and fix -- malloc patching for windows (dvitek) 361 * PORTING: Add nm-pdb and addr2line-pdb for use by pprof (dvitek) 362 * PORTING: Improve cygwin and mingw support (jperkins, csilvers) 363 * PORTING: Fix pprof for mac os x, other pprof improvements (csilvers) 364 * PORTING: Fix some PPC bugs in our locking code (anton.blanchard) 365 * A new unittest, smapling_test, to verify tcmalloc-profiles (csilvers) 366 * Turn off TLS for gcc < 4.1.2, due to a TLS + -fPIC bug (csilvers) 367 * Prefer __builtin_frame_address to assembly for stacktraces (nlewycky) 368 * Separate tcmalloc.cc out into multiple files -- finally! (kash) 369 * Make our locking code work with -fPIC on 32-bit x86 (aruns) 370 * Fix an initialization-ordering bug for tcmalloc/profiling (csilvers) 371 * Use "initial exec" model of TLS to speed up tcmalloc (csilvers) 372 * Enforce 16-byte alignment for tcmalloc, for SSE (sanjay) 373 374 Tue Sep 23 08:56:31 2008 Google Inc. <opensource (a] google.com> 375 376 * google-perftools: version 0.99.2 release 377 * COMPILE FIX: add #include needed for FreeBSD and OS X (csilvers) 378 379 Sat Sep 20 09:37:18 2008 Google Inc. <opensource (a] google.com> 380 381 * google-perftools: version 0.99.1 release 382 * BUG FIX: look for nm, etc in /usr/bin, not /usr/crosstool (csilvers) 383 384 Thu Sep 18 16:00:27 2008 Google Inc. <opensource (a] google.com> 385 386 * google-perftools: version 0.99 release 387 * Add IsHeapProfileRunning (csilvers) 388 * Add C shims for some of the C++ header files (csilvers) 389 * Fix heap profile file clean-up logic (maxim) 390 * Rename linuxthreads.c to .cc for better compiler support (csilvers) 391 * Add source info to disassembly in pprof (sanjay) 392 * Use open instead of fopen to avoid memory alloc (csilvers) 393 * Disable malloc extensions when running under valgrind (kcc) 394 * BUG FIX: Fix out-of-bound error by reordering a check (larryz) 395 * Add Options struct to ProfileData (cgd) 396 * Correct PC-handling of --base in pprof (csilvers) 397 * Handle 1 function occurring twice in an image (sanjay) 398 * Improve stack-data cleaning (maxim) 399 * Use 'struct Foo' to make header C compatible (csilvers) 400 * Add 'total' line to pprof --text (csilvers) 401 * Pre-allocate buffer for heap-profiler to avoid OOM errors (csilvers) 402 * Allow a few more env-settings to control tcmalloc (csilvers) 403 * Document some of the issues involving thread-local storage (csilvers) 404 * BUG FIX: Define strtoll and friends for windows (csilvers) 405 406 Mon Jun 9 16:47:03 2008 Google Inc. <opensource (a] google.com> 407 408 * google-perftools: version 0.98 release 409 * Add ProfilerStartWithOptions() (cgd) 410 * Change tcmalloc_minimal to not do any stack-tracing at all (csilvers) 411 * Prefer mmap to sbrk for 64-buit debug mode (sanjay) 412 * Fix accounting for some tcmalloc stats (sanjay) 413 * Use setrlimit() to keep unittests from killing the machine (odo) 414 * Fix a bug when sbrk-ing near address 4G (csilvers) 415 * Make MallocHook thread-safe (jyasskin) 416 * Fix windows build for MemoryBarrier (jyasskin) 417 * Fix CPU-profiler docs to mention correct libs (csilvers) 418 * Fix for GetHeapProfile() when heap-profiling is off (maxim) 419 * Avoid realloc resizing ping-pongs using hysteresis (csilvers) 420 * Add --callgrind output support to pprof (klimek) 421 * Fix profiler.h and heap-profiler.h to be C-compatible (csilvers) 422 * Break malloc_hook.h into two parts to reduce dependencies (csilvers) 423 * Better handle systems that don't implement mmap (csilvers) 424 * PORTING: disable system_alloc_unittest for msvc (csilvers) 425 * PORTING: Makefile tweaks to build better on cygwin (csilvers) 426 427 Mon Apr 21 15:20:52 2008 Google Inc. <opensource (a] google.com> 428 429 * google-perftools: version 0.97 release 430 * Refactor GetHeapProfile to avoid using malloc (maxim) 431 * Fix heap-checker and heap-profiler hook interactions (maxim) 432 * Fix a data race in MemoryRegionMap::Lock (jyasskin) 433 * Improve thread-safety of leak checker (maxim) 434 * Fix mmap profile to no longer deadlock (maxim) 435 * Fix rpm to have devel package depend on non-devel (csilvers) 436 * PORTING: Fix clock-speed detection for Mac OS X (csilvers) 437 438 Tue Mar 18 14:30:44 2008 Google Inc. <opensource (a] google.com> 439 440 * google-perftools: version 0.96 release 441 * major atomicops rewrite; fixed atomic ops code for linux/ppc (vchen) 442 * nix the stacktrace library; now build structure is simpler (csilvers) 443 * Speed up heap-checker, and reduce extraneous logging (maxim) 444 * Improve itimer code for NPTL case (cgd) 445 * Add source code annotations for use by valgrind, etc (kcc) 446 * PORTING: Fix high resolution timers for Mac OS X (adlr) 447 448 Tue Feb 19 12:01:31 2008 Google Inc. <opensource (a] google.com> 449 450 * google-perftools: version 0.95.1 release (bugfix release) 451 * x86_64 compile-fix: nix pread64 and pwrite64 (csilvers) 452 * more heap-checker debug logging (maxim) 453 * minor improvement to x86_64 CycleClock (gpike) 454 455 Tue Feb 12 12:28:32 2008 Google Inc. <opensource (a] google.com> 456 457 * google-perftools: version 0.95 release 458 * Better -- not perfect -- support for linux-ppc (csilvers) 459 * Fix race condition in libunwind stacktrace (aruns) 460 * Speed up x86 spinlock locking (m3b) 461 * Improve heap-checker performance (maxim) 462 * Heap checker traverses more ptrs inside heap-alloced objects (maxim) 463 * Remove deprecated ProfilerThreadState function (cgd) 464 * Update libunwind documentation for statically linked binaries (aruns) 465 466 Mon Dec 3 23:51:54 2007 Google Inc. <opensource (a] google.com> 467 468 * google-perftools: version 0.94.1 release (bugfix release) 469 * Fix missing #includes for x86_64 compile using libunwind (csilvers) 470 471 Thu Nov 29 07:59:43 2007 Google Inc. <opensource (a] google.com> 472 473 * google-perftools: version 0.94 release 474 * PORTING: MinGW/Msys support -- runs same code as MSVC does (csilvers) 475 * PORTING: Add NumCPUs support for Mac OS X (csilvers) 476 * Work around a sscanf bug in glibc(?) (waldemar) 477 * Fix Windows MSVC bug triggered by thread deletion (csilvers) 478 * Fix bug that triggers in MSVC /O2: missing volatile (gpike) 479 * March-of-time support: quiet warnings/errors for gcc 4.2, OS X 10.5 480 * Modify pprof so it works without nm: useful for windows (csilvers) 481 * pprof: Support filtering for CPU profiles (cgd) 482 * Bugfix: have realloc report to hooks in all situations (maxim) 483 * Speed improvement: replace slow memcpy with std::copy (soren) 484 * Speed: better iterator efficiency in RecordRegionRemoval (soren) 485 * Speed: minor speed improvements via better bitfield alignment (gpike) 486 * Documentation: add documentation of binary profile output (cgd) 487 488 Fri Aug 17 12:32:56 2007 Google Inc. <opensource (a] google.com> 489 490 * google-perftools: version 0.93 release 491 * PORTING: everything compiles on Solaris, OS X, FreeBSD (see INSTALL) 492 * PORTING: cpu-profiler works on most platforms (much better GetPC()) 493 * PORTING: heap-profiler works on most platforms 494 * PORTING: improved windows support, including release builds 495 * No longer build or run ptmalloc tests by default 496 * Add support for using memfs filesystem to allocate memory in linux 497 * WINDOWS: give debug library and release library different names 498 499 Tue Jul 17 22:26:27 2007 Google Inc. <opensource (a] google.com> 500 501 * google-perftools: version 0.92 release 502 * PERFORMANCE: use a packed cache to speed up tcmalloc 503 * PORTING: preliminary windows support! (see README.windows) 504 * PORTING: better support for solaris, OS X, FreeBSD (see INSTALL) 505 * Envvar support for running the heap-checker under gdb 506 * Add weak declarations to maybe_threads to fix no-pthreads compile bugs 507 * Some 64bit fixes, especially with pprof 508 * Better heap-checker support for some low-level allocations 509 * Fix bug where heap-profiles would sometimes get truncated 510 * New documentation about how to handle common heap leak situations 511 * Use computed includes for hash_map/set: easier config 512 * Added all used .m4 templates to the distribution 513 514 Wed Apr 18 16:43:55 2007 Google Inc. <opensource (a] google.com> 515 516 * google-perftools: version 0.91 release 517 * Brown-paper-bag bugfix: compilation error on some x86-64 machines 518 519 Fri Apr 13 14:50:51 2007 Google Inc. <opensource (a] google.com> 520 521 * google-perftools: version 0.90 release 522 * (As the version-number jump hints, this is a major new release: 523 almost every piece of functionality was rewritten. I can't do 524 justice to all the changes, but will concentrate on highlights.) 525 *** USER-VISIBLE CHANGES: 526 * Ability to "release" unused memory added to tcmalloc 527 * Exposed more tweaking knobs via environment variables (see docs) 528 * pprof tries harder to map addresses to functions 529 * tcmalloc_minimal compiles and runs on FreeBSD 6.0 and Solaris 10 530 *** INTERNAL CHANGES: 531 * Much better 64-bit support 532 * Better multiple-processor support (e.g. multicore contention tweaks) 533 * Support for recent kernel ABI changes (e.g. new arg to mremap) 534 * Addition of spinlocks to tcmalloc to reduce contention cost 535 * Speed up tcmalloc by using __thread on systems that support TLS 536 * Total redesign of heap-checker to improve liveness checking 537 * More portable stack-frame analysis -- no more hard-coded constants! 538 * Disentangled heap-profiler code and heap-checker code 539 * Several new unittests to test, e.g., thread-contention costs 540 * Lots of small (but important!) bug fixes: e.g., fixing GetPC on amd64 541 *** KNOWN PROBLEMS: 542 * CPU-profiling may crash on x86_64 (64-bit) systems. See the README 543 * Profiling/heap-checking may deadlock on x86_64 systems. See README 544 545 Wed Jun 14 15:11:14 2006 Google Inc. <opensource (a] google.com> 546 547 * google-perftools: version 0.8 release 548 * Experimental support for remote profiling added to pprof (many) 549 * Fixed race condition in ProfileData::FlushTable (etune) 550 * Better support for weird /proc maps (maxim, mec) 551 * Fix heap-checker interaction with gdb (markus) 552 * Better 64-bit support in pprof (aruns) 553 * Reduce scavenging cost in tcmalloc by capping NumMoveSize (sanjay) 554 * Cast syscall(SYS_mmap); works on more 64-bit systems now (menage) 555 * Document the text output of pprof! (csilvers) 556 * Better compiler support for no-THREADS and for old compilers (csilvers) 557 * Make libunwind the default stack unwinder for x86-64 (aruns) 558 * Somehow the COPYING file got erased. Regenerate it (csilvers) 559 560 Thu Apr 13 20:59:09 2006 Google Inc. <opensource (a] google.com> 561 562 * google-perftools: version 0.7 release 563 * Major rewrite of thread introspection for new kernels (markus) 564 * Major rewrite of heap-checker to use new thread tools (maxim) 565 * Add proper support for following data in thread registers (maxim) 566 * Syscall support for older kernels, including _syscall6 (markus) 567 * Support PIC mode (markus, mbland, iant) 568 * Better support for running in non-threaded contexts (csilvers) 569 570 Fri Jan 27 14:04:27 2006 Google Inc. <opensource (a] google.com> 571 572 * google-perftools: version 0.6 release 573 * More sophisticated stacktrace usage, possibly using libunwind (aruns) 574 * Update pprof to handle 64-bit profiles (dehnert) 575 * Fix GetStackTrace to correctly return top stackframe (sanjay) 576 * Add ANSI compliance for new and new[], including new_handler (jkearney) 577 * More accuracy by reading ELF files directly rather than objdump (mec) 578 * Add readline support for pprof (addi) 579 * Add #includes for PPC (csilvers) 580 * New PC-detection routine for ibook powerpc (asbestoshead) 581 * Vastly improved tcmalloc unittest (csilvers) 582 * Move documentation from /usr/doc to /usr/share/doc 583 584 Mon Nov 14 17:28:59 2005 Google Inc. <opensource (a] google.com> 585 586 * google-perftools: version 0.5 release 587 * Add va_start/va_end calls around vsnprintf() (csilvers) 588 * Write our own __syscall_return(), since it's not defined 589 consistently on all 64-bit linux distros (markus) 590 591 Wed Oct 26 15:19:16 2005 Google Inc. <opensource (a] google.com> 592 593 * google-perftools: version 0.4 release 594 * Decrease fragmentation in tcmalloc (lefevere) 595 * Support for ARM in some of the thread-specific code (markus) 596 * Turn off heap-checker for statically-linked binaries, which 597 cause error leak reports now (etune) 598 * Many pprof improvements, including a command-line interface (jeff) 599 * CPU profiling now automatically affects all threads in linux 2.6. 600 (Kernel bugs break CPU profiling and threads in linux 2.4 a bit.) 601 ProfilerEnable() and ProfilerDisable() are deprecated. (sanjay) 602 * tcmalloc now correctly intercepts memalign (m3b, maxim) 603 * Syntax fix: added missing va_end()s. Helps non-gcc compiling (etune) 604 * Fixed a few coredumper bugs: race condition after PTRACE_DETACH, 605 ignore non-aligned stackframe pointers (markus, menage) 606 * 64-bit cleanup, especially for spinlock code (etune) and mmap (sanjay) 607 * Better support for finding threads in linux (markus) 608 * tcmalloc now tracks those stack traces that allocate memory (sanjay) 609 * Work around a weird setspecific problem (sanjay) 610 * Fix tcmalloc overflow problems when an alloc is close to 2G/4G (sanjay) 611 612 Fri Jun 24 18:02:26 2005 Google Inc. <opensource (a] google.com> 613 614 * google-perftools: version 0.3 release 615 * Add missing errno include for one of the unittests (csilvers) 616 * Reduce tcmalloc startup memory from 5M to 256K (sanjay) 617 * Add support for mallopt() and mallinfo (sanjay) 618 * Improve stacktrace's performance on some 64-bit systems (etune) 619 * Improve the stacktrace unittest (etune) 620 621 Tue May 31 08:14:38 2005 Google Inc. <opensource (a] google.com> 622 623 * google-perftools: version 0.2 release 624 * Use mmap2() instead of mmap(), to map more memory (menage) 625 * Do correct pthread-local checking in heap-checker! (maxim) 626 * Avoid overflow on 64-bit machines in pprof (sanjay) 627 * Add a few more GetPC() functions, including for AMD (csilvers) 628 * Better method for overriding pthread functions (menage) 629 * (Hacky) fix to avoid overwriting profile files after fork() (csilvers) 630 * Crashing bugfix involving dumping heaps on small-stack threads (tudor) 631 * Allow library versions with letters at the end (csilvers) 632 * Config fixes for systems that don't define PATH_MAX (csilvers) 633 * Confix fixes so we no longer need config.h after install (csilvers) 634 * Fix to pprof to correctly read very big cpu profiles (csilvers) 635 * Fix to pprof to deal with new commandline flags in modern gv's 636 * Better error reporting when we can't access /proc/maps (etune) 637 * Get rid of the libc-preallocate code (which could crash on some 638 systems); no longer needed with local-threads fix (csilvers) 639 640 Tue Feb 8 09:57:17 2005 Google Inc. <opensource (a] google.com> 641 642 * google-perftools: initial release: 643 The google-perftools package contains some utilities to improve 644 and analyze the performance of C++ programs. This includes an 645 optimized thread-caching malloc() and cpu and heap profiling 646 utilities. 647