Commit Graph

955 Commits

Author SHA1 Message Date
csilvers
682ff7da12 Thu Aug 5 12:48:03 PDT 2010
* google-perftools: version 1.6 release
	* Add tc_malloc_usable_size for compatibility with glibc (csilvers)
	* Override malloc_usable_size with tc_malloc_usable_size (csilvers)
	* Default to no automatic heap sampling in tcmalloc (csilvers)
	* Add -DTCMALLOC_LARGE_PAGES, a possibly faster tcmalloc (rus)
	* Make some functions extern "C" to avoid false ODR warnings (jyasskin)
	* pprof: Add SVG-based output (rsc)
	* pprof: Extend pprof --tools to allow per-tool configs (csilvers)
	* pprof: Improve support of 64-bit and big-endian profiles (csilvers)
	* pprof: Add interactive callgrind suport (weidenri...)
	* pprof: Improve address->function mapping a bit (dpeng)
	* Better detection of when we're running under valgrind (csilvers)
	* Better CPU-speed detection under valgrind (saito)
	* Use, and recommend, -fno-builtin-malloc when compiling (csilvers)
	* Avoid false-sharing of memory between caches (bmaurer)
	* BUGFIX: Fix heap sampling to use correct alloc size (bmauer)
	* BUGFIX: Avoid gcc 4.0.x bug by making hook-clearing atomic (csilvers)
	* BUGFIX: Avoid gcc 4.5.x optimization bug (csilvers)
	* BUGFIX: Work around deps-determining bug in libtool 1.5.26 (csilvers)
	* BUGFIX: Fixed test to use HAVE_PTHREAD, not HAVE_PTHREADS (csilvers)
	* BUGFIX: Fix tls callback behavior on windows when using wpo (wtc)
	* BUGFIX: properly align allocation sizes on Windows (antonm)
	* BUGFIX: Fix prototypes for tcmalloc/debugalloc wrt throw() (csilvers)
	* DOC: Updated heap-checker doc to match reality better (fischman)
	* DOC: Document ProfilerFlush, ProfilerStartWithOptions (csilvers)
	* DOC: Update docs for heap-profiler functions (csilvers)
	* DOC: Clean up documentation around tcmalloc.slack_bytes (fikes)
	* DOC: Renamed README.windows to README_windows.txt (csilvers)
	* DOC: Update the NEWS file to be non-empty (csilvers)
	* PORTING: Fix windows addr2line and nm with proper rc code (csilvers)
	* PORTING: Add CycleClock and atomicops support for arm 5 (sanek)
	* PORTING: Improve PC finding on cygwin and redhat 7 (csilvers)
	* PORTING: speed up function-patching under windows (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@97 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2010-08-05 20:36:47 +00:00
csilvers
488eee994d Oops, I thought I had done this last time, but maybe not. Submit the
name change.


git-svn-id: http://gperftools.googlecode.com/svn/trunk@96 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2010-06-23 16:42:31 +00:00
csilvers
cb7393cbe2 * Default to not sampling in tcmalloc (csilvers)
* Add -DTCMALLOC_LARGE_PAGES: better perf for some workloads (rus)
	* Extend pprof --tools to allow per-tool configs (csilvers)
	* Have STL_Allocator pass on # bytes to free (richardfang)
	* Add a header guard to config.h (csilvers)
	* DOC: Clean up documentation around tcmalloc.slack_bytes (fikes)
	* DOC: Document ProfilerFlush, ProfilerStartWithOptions (csilvers)
	* PORTING: Work around a gcc 4.5.0 optimization bug (csilvers)
	* PORTING: Use -fno-builtin-malloc and friends when compiling tcmalloc
	* PORTING: Define _WIN32_WINNT high enough for mingw (csilvers)
	* PORTING: Work around libtool bug getting deps wrong in some cases
	* Update README.windows to emphasize $IncludeDir more (csilvers)
	* Rename README.windows to README_windows.txt (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@95 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2010-06-21 15:59:56 +00:00
csilvers
d8c0276168 * Update docs for heap-profiler fns (csilvers)
* In pprof, accept URLs without ports but with http:// (rsc)
	* Refactor sizeclass handling in tcmalloc (bmaurer)
	* Always log failed calls to FindAllocDetails (mec)
	* Clarify comments for ProfilerStart* (malcolmr)
	* Add #include guards to stacktrace_win32-inl.h (glider)
	* Add ANNOTATE_ENABLE_RACE_DETECTION(enable) (kcc)
	* Make a contentful NEWS file (csilvers)
	* Fix addr2line --help (which pprof relies on) for windows (csilvers)
	* Fixes a bug in tcmalloc's TLS callback on windows -static (wtc)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@94 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2010-05-07 21:53:24 +00:00
csilvers
b0fe220d50 * Fix pthread_once extern declarations (willchan)
* Add missing closing brace that resulted in compile failure (willchan)
	* Handle closed stdin/out/err properly when forking (glider)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@93 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2010-04-22 17:29:02 +00:00
csilvers
21c65ecb03 * Speed up IsSymbolizedProfile by checking for NUL (csilvers)
* Fix heap sampling to use correct alloc size (bmaurer)
	* Make pprof ignore tc_new{,array}_nothrow (csilvers)
        * PORTING: Have IsHeapProfilerRunning return an int, for C (csilvers)
        * Avoid false-sharing of memory between caches (bmaurer)
        * Fix some variable shadowing (rt)
        * SVG-based ouptut in pprof; also, wget->curl (rsc)
        * Allow arbitrary prefix before obvious handler (rsc)
        * Advertise when using libunwind (ppluzhnikov)

Also, the install file seems to have reverted back to the default at
some previous point in time (autotools will do that occasionally).
Change that back to have the perftools-specific text in there.


git-svn-id: http://gperftools.googlecode.com/svn/trunk@92 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2010-04-12 21:18:48 +00:00
csilvers
92beff8843 * Add new (std::nothrow) to debugallocation (corrado)
* Add a flag to ingore unaligned-ptr leaks (archanakannan)
	* PORTING: Add get-pc capabilities for a new OS (csilvers)
	* Don't register malloc extension under valgrind (csilvers)
	* Fix throw specs for our global operator new (chandlerc)
	* PORTING: link to instructions on windows static overrides (mbelshe)
	* Fix prototype differences in debugalloc (chandlerc, csilvers, wan)
	* Change pprof to handle big-endian input files (csilvers)
	* Properly align allocation sizes on Windows (antonm)
	* Improve IsRunningOnValgrind, using valgrind.h (csilvers, kcc)
	* Improve the accuracy of system_alloc actual_size (csilvers)
	* Add interactive callgrind support to pprof (weidenri...)
	* Fix off-by-one problems when symbolizing in pprof (dpeng)
	* Be more permissive in allowed library names, in pprof (csilvers)
	* PORTING: Fix pc_from_ucontext to handle cygwin and redhat7 (csilvers)
	* Fix stacktrace to avoid inlining (ppluzhnikov)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@91 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2010-03-23 20:39:55 +00:00
csilvers
23dd124970 * Speed up patching by not patching modules that are already loaded
git-svn-id: http://gperftools.googlecode.com/svn/trunk@88 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2010-02-11 01:32:42 +00:00
csilvers
8f8a010cab Oops, I submitted the wrong version of patch_functions.cc with the
previous commit.  This is really the one that goes with release 1.5.
.
?\027[D

git-svn-id: http://gperftools.googlecode.com/svn/trunk@86 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2010-01-20 23:00:51 +00:00
csilvers
fef86cfeba * google-perftools: version 1.5 release
* Add tc_set_new_mode (willchan)
        * Make memalign functions + realloc respect tc_set_new_mode (willchan)
        * Add ReleaseToSystem(num_bytes) (kash)
        * Handle zero-length symbols a bit better in pprof (csilvers)
        * Prefer __environ to /proc/self/environ in cpu profiler (csilvers)
        * Add HEAP_CHECK_MAX_LEAKS flag to control #leaks to report (glider)
        * Add two new numeric pageheap properties to MallocExtension (fikes)
        * Print alloc size when mmap fails (hakon)
        * Add ITIMER_REAL support to cpu profiler (csilvers, nabeelmian)
        * Speed up symbolizer in heap-checker reporting (glider)
        * Speed up futexes with FUTEX_PRIVATE_FLAG (m3b)
        * Speed up tcmalloc but doing better span coalescing (sanjay)
        * Better support for different wget's and addr2maps in pprof (csilvres)
        * Implement a nothrow version of delete and delete[] (csilvers)
        * BUGFIX: fix a race on module_libcs[i] in windows patching (csilvers)
        * BUGFIX: Fix debugallocation to call cpp_alloc for new (willchan)
        * BUGFIX: A simple bugfix for --raw mode (mrabkin)
        * BUGFIX: Fix C shims to actually be valid C (csilvers)
        * BUGFIX: Fix recursively-unmapped-region accounting (ppluzhnikov)
        * BUGFIX: better distinguish real and fake vdso (ppluzhnikov)
        * WINDOWS: replace debugmodule with more reliable psai (andrey)
        * PORTING: Add .bundle as another shared library extension (csilvers)
        * PORTING: Fixed a typo bug in the ocnfigure PRIxx m4 macro (csilvers)
        * PORTING: Augment sysinfo to work on 64-bit OS X (csilvers)
        * PORTING: Use sys/ucontext.h to fix compiing on OS X 10.6 (csilvers)
        * PORTING: Fix sysinfo libname reporting for solaris x86 (jeffrey)
        * PORTING: Use libunwind for i386 when using --omitfp (ppluzhnikov)

NOTE: This release uses an older version of src/windows/patch_functions.cc
because I decided the latest optimizations were not well enough tested
for a release.  I'll aim to get them into next release.


git-svn-id: http://gperftools.googlecode.com/svn/trunk@84 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2010-01-20 22:47:29 +00:00
csilvers
63b8d63beb * PORTING: Revised patch_functions to avoid deadlock (csilvers, andrey)
* PORTING: Revised patch_functions to speed up .dll loads (csilvers)
	* PORTING: Build and run sampling_test for windows (csilvers)
	* Correctly init tc structs even when libc isn't patched (csilvers)
	* Make low-level allocs async-signal-safe (saito)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@83 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2010-01-14 16:26:05 +00:00
csilvers
eeeacd5ec4 * PORTING: Fix a race condition in windows patching
* PORTING: Use Psapi instead of debugmodule to get windows module info


git-svn-id: http://gperftools.googlecode.com/svn/trunk@82 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2010-01-06 00:34:23 +00:00
csilvers
6e7479331c * Fix a memory leak with repeated Patch() calls on windows (csilvers)
* Fix a bug when we re-Patch() a previously unpatched lib (csilvers)
	* Add .bundle as another .so extension in pprof (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@81 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2009-12-15 01:41:30 +00:00
csilvers
1d981b6997 * Make memalign && posix_memalign respect tc_set_new_mode (willchan)
* Fix windows patch functions to respect tc_set_new_mode (willchan)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@80 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2009-12-02 21:42:10 +00:00
csilvers
a94d5f7974 * Prefer __environ to /proc/self/environ (csilvers)
* Add HEAP_CHECK_MAX_LEAKS envvar (glider)
	* BUGFIX: debugallocation now calls cpp_alloc for new (willchan)
	* BUGFIX: tc_set_new_mode() respected for realloc and calloc (willchan)
	* BUGFIX: fix opt-mode maybe-crash on debugallocation_test (csilvers)
	* Print alloc size when mmap fails (hakon)
	* Add ITIMER_REAL support (csilvers, nabeelmian)
	* BUGFIX: correctly report double-frees (csilvers)
	* Export tc_set_new_mode() from the .h file (willchan)
	* Restructure Symbolize to make it more efficient (glider)
	* PORTING: Augment sysinfo to work on 64-bit OS X (csilvers)
	* Add two numeric pageheap properties to MallocExtension (fikes)
	* PORTING: Use libunwind for i386 when using --omitfp (ppluzhnikov)
	* Add ReleaseToSystem(num_bytes) (kash)
	* Provide correct library filenames under solaris (jeffrey)
	* BUGFIX: simple fix in pprof --raw mode (mrabkin)
	* PORTING: Prefer sys/ucontext.h to fix OS 10.6 builds (csilvers)
	* Improve support for inlined functions in pprof (sanjay)
	* Update wget code to not use keepalive (mrabkin, csilvers)
	* PORTING: correctly handle x86_64 machines that use fp's (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@79 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2009-12-02 18:15:13 +00:00
csilvers
5b80f01df1 * Replace usleep() and poll() with nanosleep() (glider)
* Document problems with _recalloc (csilvers)
	* Detect when x86_64 doesn't turn off frame pointers (csilvers)
	* Fix sysinfo.cc/etc to work with 64-bit os x (csilvers)
	* BUGFIX: Use __TEXT instead of __DATA to store tcmalloc fns (csilvers)
	* Added two numeric pageheap properties to tcmalloc (fikes)
	* Support for mallocranges stats visualization (sanjay)
	* Use libunwind for i386, not just x86_64 (ppluzhnikov)
	* Add ReleaseToSystem(num_bytes) (kash)
	* Provide corect library filenames under solaris (jeffrey)
	* BUGFIX: a simple bug in pprof --raw mode (mrabkin)
	* Prfer sys/ucontext.h to ucontext.h, to fix OS X 10.6 (csilvers)
	* Improve supprot for inlined functions in pprof (sanjay)
	* Document inaccuracies in profiling mmap calls (csilvers)
	* Update wget code to not use keepalive (mrabkin, csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@78 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2009-11-10 16:24:57 +00:00
csilvers
25eed16e1b * Fix Symbolize() to call pprof once, rather than once/symbol (glider)
* Fix unsetting of hooks before forking, in debug mode (maxim)
	* Add some documention for pmuprofile (aruns)
	* Speed up futex with FUTEX_PRIVATE_FLAG (m3b)
	* Fix os x 10.6: prefer sys/ucontext.h to ucontext.h (csilvers)
	* Fix C shims to be actually valid C: malloc_extension/etc (csilvers)
	* Fix a longtime memset bug (csilvers)
	* Implement nothrow versions of delete (csilvers)
	* Fix recursively-unmapped-region accounting (ppluzhnikov)
	* Better distinguish between real and fake VDSO (ppluzhnikov)
	* Modify span coalescing to improve performance (sanjay)
	* WINDOWS: Remove unnecessary lock around VirtualAlloc (mbelshe)
	* Remove performance tests for ptmalloc2 (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@77 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2009-10-27 17:30:52 +00:00
csilvers
19dfa9e373 Thu Sep 10 13:51:15 2009 Google Inc. <opensource@google.com>
* google-perftools: version 1.4 release
	* Add debugallocation library, to catch memory leaks, stomping, etc
	* Add --raw mode to allow for delayed processing of pprof files
	* Use less memory when reading CPU profiles
	* New environment variables to control kernel-allocs (sbrk, memfs, etc)
	* Add MarkThreadBusy(): performance improvement
	* Remove static thread-cache-size code; all is dynamic now
	* Add new HiddenPointer class to heap checker
	* BUGFIX: pvalloc(0) allocates now (found by new debugalloc library)
	* BUGFIX: valloc test (not implementation) no longer overruns memory
	* BUGFIX: GetHeapProfile no longer deadlocks
	* BUGFIX: Support unmapping memory regions before main
	* BUGFIX: Fix some malloc-stats formatting
	* BUGFIX: Don't crash as often when freeing libc-allocated memory
	* BUGFIX: Deal better with incorrect PPROF_PATH when symbolizing
	* BUGFIX: weaken new/delete/etc in addition to malloc/free/etc
	* BUGFIX: Fix return value of GetAllocatedSize
	* PORTING: Fix mmap-#define problem on some 64-bit systems
	* PORTING: Call ranlib again (some OS X versions need it)
	* PORTING: Fix a leak when building with LLVM
	* PORTING: Remove some unneeded bash-ishs from testing scripts
	* WINDOWS: Support library unloading as well as loading
	* WINDOWS/BUGFIX: Set page to 'xrw' instead of 'rw' when patching


git-svn-id: http://gperftools.googlecode.com/svn/trunk@76 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2009-09-11 18:42:32 +00:00
csilvers
2197cc6702 Tue Jun 9 18:19:06 2009 Google Inc. <opensource@google.com>
* google-perftools: version 1.3 release
	* Provide our own name for memory functions: tc_malloc, etc (csilvers)
	* Weaken memory-alloc functions so user can override them (csilvers)
	* Remove meaningless delete(nothrow) and delete[](nothrow) (csilvers)
	* BUILD: replace clever libtcmalloc/profiler.a with a new .a (csilvers)
	* PORTING: improve windows port  by using google spinlocks (csilvers)
	* PORTING: Fix RedHat 9 memory allocation in heapchecker (csilvers)
	* PORTING: Rename OS_WINDOWS macro to PLATFORM_WINDOWS (mbelshe)
	* PORTING/BUGFIX: Make sure we don't clobber GetLastError (mbelshe)
	* BUGFIX: get rid of useless data for callgrind (weidenrinde)
	* BUGFIX: Modify windows patching to deadlock sometimes (csilvers)
	* BUGFIX: an improved fix for hook handling during fork (csilvers)
	* BUGFIX: revamp profiler_unittest.sh, which was very broken (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@74 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2009-06-10 02:04:26 +00:00
csilvers
104bf697fb Use the google spinlock code instead of the built-in windows code.
The main benefit for perftools is that google spinlocks allow for
link-time (static) initialization, which we had to simulate before,
yielding bugs and worse performance.


git-svn-id: http://gperftools.googlecode.com/svn/trunk@73 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2009-05-18 22:50:20 +00:00
csilvers
ad03b009ef In the case of windows with HAS_EXCEPTIONS turned off we weren't able
to use the std::set_new_handler correctly.  Rework the #ifdefs to
allow use of the std_new_handler, but ignore the exceptions.

Patch submitted by mbelshe.


git-svn-id: http://gperftools.googlecode.com/svn/trunk@72 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2009-04-25 01:01:23 +00:00
csilvers
1894763f57 Make sure we don't clobber GetLastError() (for windows).
git-svn-id: http://gperftools.googlecode.com/svn/trunk@71 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2009-04-22 22:53:41 +00:00
csilvers
a63235c433 1) Change #include "config.h" to <config.h>. This is what automake
recommends, and makes it easier to override a config file.

2) Rename OS_WINDOWS in sysinfo.cc, to not conflict with a macro
defined in a windows SDK somewhere.


git-svn-id: http://gperftools.googlecode.com/svn/trunk@70 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2009-04-21 17:10:29 +00:00
csilvers
beb6a9a183 Fri Apr 17 16:40:48 2009 Google Inc. <opensource@google.com>
* google-perftools: version 1.2 release
	* Allow large_alloc_threshold=0 to turn it off entirely (csilvers)
	* Die more helpfully when out of memory for internal data (csilvers)
	* Refactor profile-data gathering, add a new unittest (cgd, nabeelmian)
	* BUGFIX: fix rounding errors with static thread-size caches (addi)
	* BUGFIX: disable hooks better when forking in leak-checker (csilvers)
	* BUGFIX: fix realloc of crt pointers on windows (csilvers)
	* BUGFIX: do a better job of finding binaries in .sh tests (csilvers)
	* WINDOWS: allow overriding malloc/etc instead of patching (mbelshe)
	* PORTING: fix compilation error in a ppc-specific file (csilvers)
	* PORTING: deal with quirks in cygwin's /proc/self/maps (csilvers)
	* PORTING: use 'A' version of functions for ascii input (mbelshe)
	* PORTING: generate .so's on cygwin and mingw (ajenjo)
	* PORTING: disable profiler methods on cygwin (jperkins)
	* Updated autoconf version to 2.61 and libtool version to 1.5.26


git-svn-id: http://gperftools.googlecode.com/svn/trunk@68 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2009-04-18 00:02:25 +00:00
csilvers
edd03a831f Wed Mar 11 11:25:34 2009 Google Inc. <opensource@google.com>
* google-perftools: version 1.1 release
	* Dynamically resize thread caches -- nice perf. improvement (kash)
	* Add VDSO support to give better stacktraces in linux (ppluzhnikov)
	* Improve heap-profiling sampling algorithm (ford)
	* Rewrite leak-checking code: should be faster and more robust (sanjay)
	* Use ps2 instead of ps for dot: better page cropping for gv (csilvers)
	* Disable malloc-failure warning messages by default (csilvers)
	* Update config/Makefile to disable tests on a per-OS basis (csilvers)
	* PORTING: Get perftools compiling under MSVC 7.1 again (csilvers)
	* PORTING: Get perftools compiling under cygwin again (csilvers)
	* PORTING: automatically set library flags for solaris x86 (csilvers)
	* Add TCMALLOC_SKIP_SBRK to mirror TCMALLOC_SKIP_MMAP (csilvers)
	* Add --enable flags to allow selective building (csilvers)
	* Put addr2line-pdb and nm-pdb in proper output directory (csilvers)
	* Remove deprecated DisableChecksIn (sanjay)
	* DOCUMENTATION: Document most MallocExtension routines (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@66 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2009-03-11 20:50:03 +00:00
csilvers
c75de4d1e9 Tue Jan 6 13:58:56 2009 Google Inc. <opensource@google.com>
* google-perftools: version 1.0 release
	* Exactly the same as 1.0rc2


git-svn-id: http://gperftools.googlecode.com/svn/trunk@64 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2009-01-06 19:41:15 +00:00
csilvers
49b0273610 Sun Dec 14 17:10:35 2008 Google Inc. <opensource@google.com>
* google-perftools: version 1.0rc2 release
	* Fix compile error on 64-bit systems (casting ptr to int) (csilvers)

Thu Dec 11 16:01:32 2008  Google Inc. <opensource@google.com>


git-svn-id: http://gperftools.googlecode.com/svn/trunk@62 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2008-12-15 01:20:31 +00:00
csilvers
6fa2a2574c Thu Dec 11 16:01:32 2008 Google Inc. <opensource@google.com>
* google-perftools: version 1.0rc1 release
	* Replace API for selectively disabling heap-checker in code (sanjay)
	* Add a pre-mmap hook (daven, adlr)
	* Add MallocExtension interface to set memory-releasing rate (fikes)
	* Augment pprof to allow any string ending in /pprof/profile (csilvers)
	* PORTING: Rewrite -- and fix --  malloc patching for windows (dvitek)
	* PORTING: Add nm-pdb and addr2line-pdb for use by pprof (dvitek)
	* PORTING: Improve cygwin and mingw support (jperkins, csilvers)
	* PORTING: Fix pprof for mac os x, other pprof improvements (csilvers)
	* PORTING: Fix some PPC bugs in our locking code (anton.blanchard)
	* A new unittest, smapling_test, to verify tcmalloc-profiles (csilvers)
	* Turn off TLS for gcc < 4.1.2, due to a TLS + -fPIC bug (csilvers)
	* Prefer __builtin_frame_address to assembly for stacktraces (nlewycky)
	* Separate tcmalloc.cc out into multiple files -- finally! (kash)
	* Make our locking code work with -fPIC on 32-bit x86 (aruns)
	* Fix an initialization-ordering bug for tcmalloc/profiling (csilvers)
	* Use "initial exec" model of TLS to speed up tcmalloc (csilvers)
	* Enforce 16-byte alignment for tcmalloc, for SSE (sanjay)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@60 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2008-12-13 01:35:42 +00:00
csilvers
16191f87ff Tue Sep 23 08:56:31 2008 Google Inc. <opensource@google.com>
* google-perftools: version 0.99.2 release
	* COMPILE FIX: add #include needed for FreeBSD and OS X (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@58 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2008-09-23 17:51:05 +00:00
csilvers
8b2dd25dc9 Sat Sep 20 09:37:18 2008 Google Inc. <opensource@google.com>
* google-perftools: version 0.99.1 release
	* BUG FIX: look for nm, etc in /usr/bin, not /usr/crosstool (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@56 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2008-09-20 17:15:23 +00:00
csilvers
106aef86ce Thu Sep 18 16:00:27 2008 Google Inc. <opensource@google.com>
* google-perftools: version 0.99 release
	* Add IsHeapProfileRunning (csilvers)
	* Add C shims for some of the C++ header files (csilvers)
	* Fix heap profile file clean-up logic (maxim)
	* Rename linuxthreads.c to .cc for better compiler support (csilvers)
	* Add source info to disassembly in pprof (sanjay)
	* Use open instead of fopen to avoid memory alloc (csilvers)
	* Disable malloc extensions when running under valgrind (kcc)
	* BUG FIX: Fix out-of-bound error by reordering a check (larryz)
	* Add Options struct to ProfileData (cgd)
	* Correct PC-handling of --base in pprof (csilvers)
	* Handle 1 function occurring twice in an image (sanjay)
	* Improve stack-data cleaning (maxim)
	* Use 'struct Foo' to make header C compatible (csilvers)
	* Add 'total' line to pprof --text (csilvers)
	* Pre-allocate buffer for heap-profiler to avoid OOM errors (csilvers)
	* Allow a few more env-settings to control tcmalloc (csilvers)
	* Document some of the issues involving thread-local storage (csilvers)
	* BUG FIX: Define strtoll and friends for windows (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@54 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2008-09-19 20:06:40 +00:00
csilvers
100e657c50 Mon Jun 9 16:47:03 2008 Google Inc. <opensource@google.com>
* google-perftools: version 0.98 release
	* Add ProfilerStartWithOptions() (cgd)
	* Change tcmalloc_minimal to not do any stack-tracing at all (csilvers)
	* Prefer mmap to sbrk for 64-buit debug mode (sanjay)
	* Fix accounting for some tcmalloc stats (sanjay)
	* Use setrlimit() to keep unittests from killing the machine (odo)
	* Fix a bug when sbrk-ing near address 4G (csilvers)
	* Make MallocHook thread-safe (jyasskin)
	* Fix windows build for MemoryBarrier (jyasskin)
	* Fix CPU-profiler docs to mention correct libs (csilvers)
	* Fix for GetHeapProfile() when heap-profiling is off (maxim)
	* Avoid realloc resizing ping-pongs using hysteresis (csilvers)
	* Add --callgrind output support to pprof (klimek)
	* Fix profiler.h and heap-profiler.h to be C-compatible (csilvers)
	* Break malloc_hook.h into two parts to reduce dependencies (csilvers)
	* Better handle systems that don't implement mmap (csilvers)
	* PORTING: disable system_alloc_unittest for msvc (csilvers)
	* PORTING: Makefile tweaks to build better on cygwin (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@52 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2008-06-14 02:30:53 +00:00
csilvers
7ec719093b Mon Apr 21 15:20:52 2008 Google Inc. <opensource@google.com>
* google-perftools: version 0.97 release
	* Refactor GetHeapProfile to avoid using malloc (maxim)
	* Fix heap-checker and heap-profiler hook interactions (maxim)
	* Fix a data race in MemoryRegionMap::Lock (jyasskin)
	* Improve thread-safety of leak checker (maxim)
	* Fix mmap profile to no longer deadlock (maxim)
	* Fix rpm to have devel package depend on non-devel (csilvers)
	* PORTING: Fix clock-speed detection for Mac OS X (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@50 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2008-04-22 01:47:16 +00:00
csilvers
97fdd4a4f9 Tue Mar 18 14:30:44 2008 Google Inc. <opensource@google.com>
* google-perftools: version 0.96 release
	* major atomicops rewrite; fixed atomic ops code for linux/ppc (vchen)
	* nix the stacktrace library; now build structure is simpler (csilvers)
	* Speed up heap-checker, and reduce extraneous logging (maxim)
	* Improve itimer code for NPTL case (cgd)
	* Add source code annotations for use by valgrind, etc (kcc)
	* PORTING: Fix high resolution timers for Mac OS X (adlr)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@48 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2008-03-19 23:35:27 +00:00
csilvers
a644b4f2d6 Tue Feb 19 12:01:31 2008 Google Inc. <opensource@google.com>
* google-perftools: version 0.95.1 release  (bugfix release)
	* x86_64 compile-fix: nix pread64 and pwrite64 (csilvers)
	* more heap-checker debug logging (maxim)
	* minor improvement to x86_64 CycleClock (gpike)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@46 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2008-02-19 22:19:22 +00:00
csilvers
8a0a3101bc Tue Feb 12 12:28:32 2008 Google Inc. <opensource@google.com>
* google-perftools: version 0.95 release
	* Better -- not perfect -- support for linux-ppc (csilvers)
	* Fix race condition in libunwind stacktrace (aruns)
	* Speed up x86 spinlock locking (m3b)
	* Improve heap-checker performance (maxim)
	* Heap checker traverses more ptrs inside heap-alloced objects (maxim)
	* Remove deprecated ProfilerThreadState function (cgd)
	* Update libunwind documentation for statically linked binaries (aruns)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@44 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2008-02-13 00:55:09 +00:00
csilvers
b43ba444fc Mon Dec 3 23:51:54 2007 Google Inc. <opensource@google.com>
* google-perftools: version 0.94.1 release  (bugfix release)
	* Fix missing #includes for x86_64 compile using libunwind (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@42 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2007-12-05 00:08:28 +00:00
csilvers
11b02f7aeb Thu Nov 29 07:59:43 2007 Google Inc. <opensource@google.com>
* google-perftools: version 0.94 release
	* PORTING: MinGW/Msys support -- runs same code as MSVC does (csilvers)
	* PORTING: Add NumCPUs support for Mac OS X (csilvers)
	* Work around a sscanf bug in glibc(?) (waldemar)
	* Fix Windows MSVC bug triggered by thread deletion (csilvers)
	* Fix bug that triggers in MSVC /O2: missing volatile (gpike)
	* March-of-time support: quiet warnings/errors for gcc 4.2, OS X 10.5
	* Modify pprof so it works without nm: useful for windows (csilvers)
	* pprof: Support filtering for CPU profiles (cgd)
	* Bugfix: have realloc report to hooks in all situations (maxim)
	* Speed improvement: replace slow memcpy with std::copy (soren)
	* Speed: better iterator efficiency in RecordRegionRemoval (soren)
	* Speed: minor speed improvements via better bitfield alignment (gpike)
	* Documentation: add documentation of binary profile output (cgd)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@40 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2007-11-29 23:39:24 +00:00
csilvers
49b74b9508 * google-perftools: version 0.93 release
* PORTING: everything compiles on Solaris, OS X, FreeBSD (see INSTALL)
	* PORTING: cpu-profiler works on most platforms (much better GetPC())
	* PORTING: heap-profiler works on most platforms
	* PORTING: improved windows support, including release builds
	* No longer build or run ptmalloc tests by default
	* Add support for using memfs filesystem to allocate memory in linux
	* WINDOWS: give debug library and release library different names
	
Tue Jul 17 22:26:27 2007  Google Inc. <opensource@google.com>


git-svn-id: http://gperftools.googlecode.com/svn/trunk@38 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2007-08-17 20:56:15 +00:00
csilvers
c437e1fcdd Tue Jul 17 22:26:27 2007 Google Inc. <opensource@google.com>
* google-perftools: version 0.92 release
	* PERFORMANCE: use a packed cache to speed up tcmalloc
	* PORTING: preliminary windows support! (see README.windows)
	* PORTING: better support for solaris, OS X, FreeBSD (see INSTALL)
	* Envvar support for running the heap-checker under gdb
	* Add weak declarations to maybe_threads to fix no-pthreads compile bugs
	* Some 64bit fixes, especially with pprof
	* Better heap-checker support for some low-level allocations
	* Fix bug where heap-profiles would sometimes get truncated
	* New documentation about how to handle common heap leak situations
	* Use computed includes for hash_map/set: easier config
	* Added all used .m4 templates to the distribution


git-svn-id: http://gperftools.googlecode.com/svn/trunk@36 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2007-07-18 18:30:50 +00:00
csilvers
6878379d5b Wed Apr 18 16:43:55 2007 Google Inc. <opensource@google.com>
* google-perftools: version 0.91 release
	* Brown-paper-bag bugfix: compilation error on some x86-64 machines


git-svn-id: http://gperftools.googlecode.com/svn/trunk@30 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2007-04-19 00:53:22 +00:00
csilvers
74ad5d57ec Fri Apr 13 14:50:51 2007 Google Inc. <opensource@google.com>
* google-perftools: version 0.90 release
	* (As the version-number jump hints, this is a major new release:
	  almost every piece of functionality was rewritten.  I can't do
	  justice to all the changes, but will concentrate on highlights.)
	*** USER-VISIBLE CHANGES:
	* Ability to "release" unused memory added to tcmalloc
	* Exposed more tweaking knobs via environment variables (see docs)
	* pprof tries harder to map addresses to functions
	* tcmalloc_minimal compiles and runs on FreeBSD 6.0 and Solaris 10
	*** INTERNAL CHANGES:
	* Much better 64-bit support
	* Better multiple-processor support (e.g. multicore contention tweaks)
	* Support for recent kernel ABI changes (e.g. new arg to mremap)
	* Addition of spinlocks to tcmalloc to reduce contention cost
	* Speed up tcmalloc by using __thread on systems that support TLS
	* Total redesign of heap-checker to improve liveness checking
	* More portable stack-frame analysis -- no more hard-coded constants!
	* Disentangled heap-profiler code and heap-checker code
	* Several new unittests to test, e.g., thread-contention costs
	* Lots of small (but important!) bug fixes: e.g., fixing GetPC on amd64
	*** KNOWN PROBLEMS:
	* CPU-profiling may crash on x86_64 (64-bit) systems.  See the README
	* Profiling/heap-checking may deadlock on x86_64 systems.  See README


git-svn-id: http://gperftools.googlecode.com/svn/trunk@28 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2007-04-16 20:49:32 +00:00
csilvers
ddbf2f027f Now that we've uploaded the full source, including the doc/ directory, we can get rid of docs/
git-svn-id: http://gperftools.googlecode.com/svn/trunk@27 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2007-03-22 05:03:28 +00:00
csilvers
7ede7d6a9f set mime-type for png and gifs
git-svn-id: http://gperftools.googlecode.com/svn/trunk@26 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2007-03-22 05:01:39 +00:00
csilvers
8e188310f7 Wed Jun 14 15:11:14 2006 Google Inc. <opensource@google.com>
* google-perftools: version 0.8 release
	* Experimental support for remote profiling added to pprof (many)
	* Fixed race condition in ProfileData::FlushTable (etune)
	* Better support for weird /proc maps (maxim, mec)
	* Fix heap-checker interaction with gdb (markus)
	* Better 64-bit support in pprof (aruns)
	* Reduce scavenging cost in tcmalloc by capping NumMoveSize (sanjay)
	* Cast syscall(SYS_mmap); works on more 64-bit systems now (menage)
	* Document the text output of pprof! (csilvers)
	* Better compiler support for no-THREADS and for old compilers (csilvers)
	* Make libunwind the default stack unwinder for x86-64 (aruns)
	* Somehow the COPYING file got erased.  Regenerate it (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@23 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2007-03-22 04:55:49 +00:00
csilvers
c3b96b3ac5 Thu Apr 13 20:59:09 2006 Google Inc. <opensource@google.com>
* google-perftools: version 0.7 release
	* Major rewrite of thread introspection for new kernels (markus)
	* Major rewrite of heap-checker to use new thread tools (maxim)
	* Add proper support for following data in thread registers (maxim)
	* Syscall support for older kernels, including _syscall6 (markus)
	* Support PIC mode (markus, mbland, iant)
	* Better support for running in non-threaded contexts (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@21 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2007-03-22 04:48:00 +00:00
csilvers
60a3a2ce77 Fri Jan 27 14:04:27 2006 Google Inc. <opensource@google.com>
* google-perftools: version 0.6 release
	* More sophisticated stacktrace usage, possibly using libunwind (aruns)
	* Update pprof to handle 64-bit profiles (dehnert)
	* Fix GetStackTrace to correctly return top stackframe (sanjay)
	* Add ANSI compliance for new and new[], including new_handler (jkearney)
	* More accuracy by reading ELF files directly rather than objdump (mec)
	* Add readline support for pprof (addi)
	* Add #includes for PPC (csilvers)
	* New PC-detection routine for ibook powerpc (asbestoshead)
	* Vastly improved tcmalloc unittest (csilvers)
	* Move documentation from /usr/doc to /usr/share/doc


git-svn-id: http://gperftools.googlecode.com/svn/trunk@19 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2007-03-22 04:46:29 +00:00
csilvers
298274f8d4 Mon Nov 14 17:28:59 2005 Google Inc. <opensource@google.com>
* google-perftools: version 0.5 release
	* Add va_start/va_end calls around vsnprintf() (csilvers)
	* Write our own __syscall_return(), since it's not defined
	  consistently on all 64-bit linux distros (markus)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@17 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2007-03-22 04:45:23 +00:00
csilvers
ee5805f129 Wed Oct 26 15:19:16 2005 Google Inc. <opensource@google.com>
* Decrease fragmentation in tcmalloc (lefevere)
	* Support for ARM in some of the thread-specific code (markus)
	* Turn off heap-checker for statically-linked binaries, which
	  cause error leak reports now (etune)
	* Many pprof improvements, including a command-line interface (jeff)
	* CPU profiling now automatically affects all threads in linux 2.6.
	  (Kernel bugs break CPU profiling and threads in linux 2.4 a bit.)
	  ProfilerEnable() and ProfilerDisable() are deprecated.  (sanjay)
	* tcmalloc now correctly intercepts memalign (m3b, maxim)
	* Syntax fix: added missing va_end()s.  Helps non-gcc compiling (etune)
	* Fixed a few coredumper bugs: race condition after PTRACE_DETACH,
	  ignore non-aligned stackframe pointers (markus, menage)
	* 64-bit cleanup, especially for spinlock code (etune) and mmap (sanjay)
	* Better support for finding threads in linux (markus)
	* tcmalloc now tracks those stack traces that allocate memory (sanjay)
	* Work around a weird setspecific problem (sanjay)
	* Fix tcmalloc overflow problems when an alloc is close to 2G/4G (sanjay)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@15 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2007-03-22 04:44:18 +00:00
csilvers
bc455d7b63 Fri Jun 24 18:02:26 2005 Google Inc. <opensource@google.com>
* Add missing errno include for one of the unittests (csilvers)
	* Reduce tcmalloc startup memory from 5M to 256K (sanjay)
	* Add support for mallopt() and mallinfo (sanjay)
	* Improve stacktrace's performance on some 64-bit systems (etune)
	* Improve the stacktrace unittest (etune)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@13 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2007-03-22 04:42:30 +00:00