Commit Graph

105 Commits

Author SHA1 Message Date
chappedm@gmail.com a2fec7c694 issue-446: Fixes compatability issues in malloc_hook_test for PPC64
git-svn-id: http://gperftools.googlecode.com/svn/trunk@158 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-09-18 01:43:02 +00:00
chappedm@gmail.com b05b6fc765 issue-458: Optimizes malloc hooks for weakly consistent memory architectures
git-svn-id: http://gperftools.googlecode.com/svn/trunk@157 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-09-18 01:27:34 +00:00
chappedm@gmail.com 00edf667f6 issue-456: Adds support for CACHELINE_ALIGNED values for PPC
git-svn-id: http://gperftools.googlecode.com/svn/trunk@156 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-09-18 01:18:15 +00:00
chappedm@gmail.com 731d0932a0 issue-455: Adds another size for large pages in tcmalloc through the new define TCMALLOC_LARGE_PAGES64K
git-svn-id: http://gperftools.googlecode.com/svn/trunk@155 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-09-18 00:59:16 +00:00
chappedm@gmail.com 771b6bcf68 issue-457: Fixed an issue where the 'getpc' testcase was using the wrong PPC64 preprocessor directive
git-svn-id: http://gperftools.googlecode.com/svn/trunk@154 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-09-18 00:52:13 +00:00
chappedm@gmail.com 711232a1ef issue-453 Added support to get the timebase register value using just one instruction and also adjusts the PPC32 code to the recent GLIBC one that implements the same functionality
git-svn-id: http://gperftools.googlecode.com/svn/trunk@153 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-09-18 00:42:23 +00:00
chappedm@gmail.com fa0209f261 issue-437 Fixed issues related to new glibc shipped with Ubuntu 10.10
1. ptrace permissions were modifed to be a bit more strict which required
   us to programatically set the permissions while syncing up to the profiling
   thread.

2. Order of destructors registered with atexit changed which was casuing us to
   miss generating the backtrace when heap checker was finished. Seems that we
   initially fixed this for FreeBSD and now linux has changed their behaviour
   to be the same. We are now a bit stricter on the rules here accross all
   platforms.


git-svn-id: http://gperftools.googlecode.com/svn/trunk@152 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-09-18 00:00:20 +00:00
chappedm@gmail.com cd723b43ff issue-385: updates to automake to pick up the explicit setting of the -fno-omit-frame-pointer for i386
git-svn-id: http://gperftools.googlecode.com/svn/trunk@151 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-05-16 12:24:13 +00:00
chappedm@gmail.com 0c0382234d issue-385: as of gcc 4.6 we now need to enable frame pointers for i386 platforms since the default is to now omit frame pointers
git-svn-id: http://gperftools.googlecode.com/svn/trunk@150 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-05-16 01:28:08 +00:00
chappedm@gmail.com bafd0f8b7c Changing internal behaviour of tcmalloc to return an allocated size of 0 when the target pointer is null (refer to TCMallocImplementation::GetAllocatedSize). This change was reviewed as https://codereview.appspot.com/5833050/.
git-svn-id: http://gperftools.googlecode.com/svn/trunk@149 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-04-21 17:27:54 +00:00
chappedm@gmail.com 9be2f8d802 Adding in further support for 64-bit NoBarrier_Load on windows
git-svn-id: http://gperftools.googlecode.com/svn/trunk@148 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-04-21 16:15:20 +00:00
chappedm@gmail.com 68df7fa605 issue-405: Added a tunable to the heap checker that allows the heap checker error exit code to be overridden. For larger projects this allows certain heap checked programs that have intentional/known leaks to be managed.
git-svn-id: http://gperftools.googlecode.com/svn/trunk@147 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-03-03 19:45:49 +00:00
chappedm@gmail.com 0a9d3f8af3 issue-410: This set of changes exposes the central cache free list size, transfer cache free list size, and the meta data overhead size through the getNumericProperty() function.
git-svn-id: http://gperftools.googlecode.com/svn/trunk@146 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-03-02 06:04:08 +00:00
csilvers 1233f0f910 This file is in the tarball, but I forgot to put it in svn as well.
(It's tricky because it's auto-generated from tcmalloc.h.in at
tarball-making time.)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@145 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-02-21 03:02:43 +00:00
csilvers ce28912345 Url-typo in the latest NEWS message.
git-svn-id: http://gperftools.googlecode.com/svn/trunk@144 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-02-04 00:10:11 +00:00
csilvers 4e9432c509 Fri Feb 03 15:40:45 2012 Google Inc. <google-perftools@googlegroups.com>
* gperftools: version 2.0
	* Renamed the project from google-perftools to gperftools (csilvers)
	* Renamed the .deb/.rpm packagse from google-perftools to gperftools too
	* Renamed include directory from google/ to gperftools/ (csilvers)
	* Changed the 'official' perftools email in setup.py/etc
	* Renamed google-perftools.sln to gperftools.sln
	* PORTING: Removed bash-isms & grep -q in heap-checker-death_unittest.sh
	* Changed copyright text to reflect Google's relinquished ownership


git-svn-id: http://gperftools.googlecode.com/svn/trunk@142 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-02-04 00:07:36 +00:00
csilvers e10b720797 Last of the remnant empty directories that I don't know why they're there.
git-svn-id: http://gperftools.googlecode.com/svn/trunk@141 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-02-04 00:06:48 +00:00
csilvers e55949bba6 This directory got renamed tmu-static a long time ago. Get rid of
this ancient remnant.


git-svn-id: http://gperftools.googlecode.com/svn/trunk@140 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-02-04 00:06:06 +00:00
csilvers 0f588815f9 Apparently I'm not good at deleting files from svn after they're no
longer used anymore.  Get rid of a few more that fall into this category.


git-svn-id: http://gperftools.googlecode.com/svn/trunk@139 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-02-04 00:05:39 +00:00
csilvers 2b2016f684 I have no idea why I created this directory, but it's never been
used.  Delete it.


git-svn-id: http://gperftools.googlecode.com/svn/trunk@138 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-02-04 00:03:35 +00:00
csilvers ace2da0673 This file has been obsolete for almost a year now; I just forgot to
delete it from svn.


git-svn-id: http://gperftools.googlecode.com/svn/trunk@137 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-02-04 00:02:15 +00:00
csilvers 0afb078b34 Tue Jan 31 10:43:50 2012 Google Inc. <opensource@google.com>
* google-perftools: version 1.10 release
	* PORTING: Support for patching assembly on win x86_64! (scott.fr...)
	* PORTING: Work around atexit-execution-order bug on freebsd (csilvers)
	* PORTING: Patch _calloc_crt for windows (roger orr)
	* PORTING: Add C++11 compatibility method for stl allocator (jdennett)
	* PORTING: use MADV_FREE, not MADV_DONTNEED, on freebsd (csilvers)
	* PORTING: Don't use SYS_open when not supported on solaris (csilvers)
	* PORTING: Do not assume uname() returns 0 on success (csilvers)
	* LSS: Improved ARM support in linux-syscall-support (dougkwan)
	* LSS: Get rid of unused syscalls in linux-syscall-support (csilvers)
	* LSS: Fix broken mmap wrapping for ppc (markus)
	* LSS: Emit .cfi_adjust_cfa_offset when appropriate (ppluzhnikov)
	* LSS: Be more accurate in register use in __asm__ (markus)
	* LSS: Fix __asm__ calls to compile under clang (chandlerc)
	* LSS: Fix ARM inline assembly bug around r7 and swi (lcwu)
	* No longer log when an allocator fails (csilvers)
	* void* -> const void* for MallocExtension methods (llib)
	* Improve HEAP_PROFILE_MMAP and fix bugs with it (dmikurube)
	* Replace int-based abs with more correct fabs in a test (pmurin)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@135 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-01-31 19:11:26 +00:00
csilvers e0eaf5981e * PORTING: Support for patching assembly on win x86_64! (scott.fr...)
* PORTING: Work around atexit-execution-order bug on freebsd (csilvers)
	* PORTING: Patch _calloc_crt for windows (roger orr)
	* PORTING: Add C++11 compatibility method for stl allocator (jdennett)
	* PORTING: use MADV_FREE, not MADV_DONTNEED, on freebsd (csilvers)
	* PORTING: Don't use SYS_open when not supported on solaris (csilvers)
	* PORTING: Do not assume uname() returns 0 on success (csilvers)
	* LSS: Improved ARM support in linux-syscall-support (dougkwan)
	* LSS: Get rid of unused syscalls in linux-syscall-support (csilvers)
	* LSS: Fix broken mmap wrapping for ppc (markus)
	* LSS: Emit .cfi_adjust_cfa_offset when appropriate (ppluzhnikov)
	* LSS: Be more accurate in register use in __asm__ (markus)
	* LSS: Fix __asm__ calls to compile under clang (chandlerc)
	* LSS: Fix ARM inline assembly bug around r7 and swi (lcwu)
	* No longer log when an allocator fails (csilvers)
	* void* -> const void* for MallocExtension methods (llib)
	* Improve HEAP_PROFILE_MMAP and fix bugs with it (dmikurube)
	* Replace int-based abs with more correct fabs in a test (pmurin)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@134 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-01-28 00:13:43 +00:00
csilvers 4fa02db374 Ready to release perftools 1.9.1 :-/
Added the ARM stacktrace file to the tarball (for 'make dist')


git-svn-id: http://gperftools.googlecode.com/svn/trunk@132 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-12-24 01:00:32 +00:00
csilvers 2a7b3b8837 Thu Dec 22 16:22:45 2011 Google Inc. <opensource@google.com>
* google-perftools: version 1.9 release
	* Lightweight check for double-frees (blount)
	* BUGFIX: Fix pprof to exit properly if run with no args (dagitses)
	* Suggest ASan as a way to diagnose buggy code (ppluzhnikov)
	* Get rid of unused CACHELINE_SIZE (csilvers)
	* Replace atexit() calls with global dtors; helps freebsd (csilvers)
	* Disable heap-checker under AddressSanitizer (kcc)
	* Fix bug in powerpc stacktracing (ppluzhnikov)
	* PERF: Use exponential backoff waiting for spinlocks (m3b)
	* Fix 64-bit nm on 32-bit binaries in pprof (csilvers)
	* Add ProfileHandlerDisallowForever (rsc)
	* BUGFIX: Shell escape when forking in pprof (csilvers)
	* No longer combine overloaded functions in pprof (csilvers)
	* Fix address-normalizing bug in pprof (csilvers)
	* More consistently call abort() instead of exit() on failure (csilvers)
	* Allow NoGlobalLeaks to be safely called more than once (csilvers)
	* PORTING/BUGFIX: Fix ARM cycleclock to use volatile asm (dougkwan)
	* PORTING: 64-bit atomic ops for ARMv7 (dougkwan)
	* PORTING: Implement stacktrace for ARM (dougkwan)
	* PORTING: Fix malloc_hook_mmap_linux for ARM (dougkwan)
	* PORTING: Update linux_syscall_support.h for ARM/etc (evannier, sanek)
	* PORTING: Fix freebsd to work on x86_64 (chapp...@gmail.com)
	* PORTING: Added additional SYS_mmap fixes for FreeBSD (chappedm)
	* PORTING: Allow us to compile on OS X 10.6 and run on 10.5 (raltherr)
	* PORTING: Check for mingw compilers that *do* define timespec
	* PORTING: Add "support" for MIPS cycletimer
	* PORTING: Fix fallback cycle-timer to work with Now (dougkwan)
	* PERF: Move stack trace collecting out of the mutex (taylorc)
	* PERF: Get the deallocation stack trace outside the mutex (sean)
	* Make PageHeap dynamically allocated for leak checks (maxim)
	* BUGFIX: Fix probing of nm -f behavior in pprof (dpeng)
	* BUGFIX: Fix a race with the CentralFreeList lock before main (sanjay)
	* Support /pprof/censusprofile url arguments (rajatjain)
	* Change IgnoreObject to return its argument (nlewycky)
	* Update malloc-hook files to support more CPUs
	* BUGFIX: write our own strstr to avoid libc problems (csilvers)
	* Use simple callgrind compression facility in pprof
	* Print an error message when we can't run pprof to symbolize (csilvers)
	* Die in configure when g++ is't installed (csilvers)
	* DOC: Beef up the documentation a bit about using libunwind (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@130 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-12-23 00:45:49 +00:00
csilvers 75f5a791bc Add the magical incantations to get perftools to compile
cleanly under windows.  The only non-trivial one is the #undef
        of small, which I needed to compile under the latest cygwin --
        I ran g++ with -dD under cygwin and saw the '#define small
        char' with my own eyes.  I wouldn't have thought it...


git-svn-id: http://gperftools.googlecode.com/svn/trunk@129 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-12-23 00:45:14 +00:00
csilvers 76131b04cf In my testing for a new release, I was noticing hangs on
cygwin, that went away when I turned off tls support.  Since I
        didn't use to have such problems, I am being conservative and
        only turning off TLS for the particular version of cygwin I'm
        testing on (as returned by uname()).


git-svn-id: http://gperftools.googlecode.com/svn/trunk@128 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-12-23 00:44:53 +00:00
csilvers 3d30fbcc85 We use mmx instructions now in perftools, so specify -xmms for
gcc on i386, where it's not on by default (it is for
        gcc/x86_64, in my tests).  This could potentially cause an
        error for embedded systems, which can have i386 but no mms,
        but the code wouldn't run properly on them anyway without
        tweaks.


git-svn-id: http://gperftools.googlecode.com/svn/trunk@127 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-12-23 00:44:30 +00:00
csilvers f622d261e9 * Fix ARM cycleclock to use volatile asm (dougkwan)
* BUGFIX: Define BASE_HAS_ATOMIC64 for ARMv7 (dougkwan)
	* Fix fallback cycle-timer to work with Now (dougkwan)
	* Fix pprof to exit properly if run with no args (dagitses)
	* Suggest ASan as a way to diagnose buggy code (ppluzhnikov)
	* Get rid of unused CACHELINE_SIZE (csilvers)



git-svn-id: http://gperftools.googlecode.com/svn/trunk@126 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-12-20 18:43:38 +00:00
chappedm@gmail.com 7da0200301 Added additional SYS_mmap fixes for FreeBSD due to syscall differences between os versions (pulled from differences between FreeBSD6 and FreeBSD8 mmap implementations)
git-svn-id: http://gperftools.googlecode.com/svn/trunk@125 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-11-30 02:54:35 +00:00
csilvers 8c8329390c * Eliminate some TSAN warnings (wilsonh)
* Better fix for freebsd on x86_64 (chapp...@gmail.com)
	* Lightweight check for double-frees (blount)
	* 64-bit atomic ops for ARMv7 (dougkwan)
	* Remove dynamic annotations in some cases (dvyukov)
	* Update linux_syscall_support.h for ARM, etc (evannier)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@124 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-11-22 01:06:33 +00:00
csilvers ca23f57679 Fix bad #include paths.
git-svn-id: http://gperftools.googlecode.com/svn/trunk@123 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-11-17 00:11:42 +00:00
csilvers e580d78881 Some linux_syscall_support.h improvements:
* Fix socketcall functions (mec)
     * Add ARM related defs and syscall asembly code (sanek)
     * Use __arm__ instead of particular ARM arch macro (dougkwan)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@122 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-11-16 21:20:45 +00:00
csilvers 6c3eaabd73 * Check for mingw compilers that *do* define timespec
* Replace atexit() calls with global dtors; helps freebsd (csilvers)
	* Fix malloc_hook_mmap_linux for ARM (dougkwan)
	* Disalbe heap-checker under AddressSanitizer (kcc)
	* Fix bug in powerpc stacktracing (ppluzhnikov)
	* Use exponential backoff waiting for spinlocks (m3b)
	* Fix 64-bit nm on 32-bit binaries in pprof (csilvers)
	* Implement stacktrace for ARM (dougkwan)
	* Add ProfileHandlerDisallowForever (rsc)
	* Shell escape when forking in pprof (csilvers)
	* Fix freebsd to work on x86_64 (chapp...@gmail.com)
	* No longer combine overloaded functions in pprof (csilvers)
	* Fix address-normalizing bug in pprof (csilvers)
	* More consistently call abort() instead of exit() on failure (csilvers)
	* Allow NoGlobalLeaks to be safely called more than once (csilvers)
	* Beef up the documentation a bit about using libunwind (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@121 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-11-16 05:21:54 +00:00
csilvers a6076edd17 * Get the deallocation stack trace outside the lock (sean)
* Make PageHeap dynamically allocated for leak checks (maxim)
	* BUGFIX: Fix probing of nm -f behavior in pprof (dpeng)
	* PORTING: Add "support" for MIPS cycletimer
	* BUGFIX: Fix a race with the CentralFreeList lock (sanjay)
	* Allow us to compile on OS X 10.6 and run on 10.5 (raltherr)
	* Support /pprof/censusprofile url arguments (rajatjain)
	* Die in configure when g++ is't installed (csilvers)
	* Change IgnoreObject to return its argument (nlewycky)
	* Update malloc-hook files to support more CPUs
	* Move stack trace collecting out of the mutex (taylorc)
	* BUGFIX: write our own strstr to avoid libc problems (csilvers)
	* use simple callgrind compression facility in pprof
	* print an error message when we can't run pprof to symbolize (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@120 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-10-18 20:57:45 +00:00
csilvers c2eedce2a7 Fri Aug 26 13:29:25 2011 Google Inc. <opensource@google.com>
* google-perftools: version 1.8.3 release
	* Added back the 'pthreads unsafe early' #define, needed for FreeBSD


git-svn-id: http://gperftools.googlecode.com/svn/trunk@117 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-08-26 21:08:59 +00:00
csilvers f633b40ba5 Thu Aug 11 15:01:47 2011 Google Inc. <opensource@google.com>
* google-perftools: version 1.8.2 release
	* Fixed calculation of patchlevel, 'make check' should all pass again


git-svn-id: http://gperftools.googlecode.com/svn/trunk@115 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-08-11 22:06:22 +00:00
csilvers ffcdf7bf5a Fix #includes for ARM.
git-svn-id: http://gperftools.googlecode.com/svn/trunk@114 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-08-11 22:05:09 +00:00
csilvers d2faf4646d Tue Jul 26 20:57:51 2011 Google Inc. <opensource@google.com>
* google-perftools: version 1.8 release
	* Added an #include to fix compile breakage on latest gcc's
	* Removed an extra , in the configure.ac script


git-svn-id: http://gperftools.googlecode.com/svn/trunk@112 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-07-27 04:18:01 +00:00
csilvers 100c38c1a2 Fri Jul 15 16:10:51 2011 Google Inc. <opensource@google.com>
* google-perftools: version 1.8 release
	* PORTING: (Disabled) support for patching mmap on freebsd (chapp...)
	* PORTING: Support volatile __malloc_hook for glibc 2.14 (csilvers)
	* PORTING: Use _asm rdtsc and __rdtsc to get cycleclock in windows (koda)
	* PORTING: Fix fd vs. HANDLE compiler error on cygwin (csilvers)
	* PORTING: Do not test memalign or double-linking on OS X (csilvers)
	* PORTING: Actually enable TLS on windows (jontra)
	* PORTING: Some work to compile under Native Client (krasin)
	* PORTING: deal with pthread_once w/o -pthread on freebsd (csilvers)
	* Rearrange libc-overriding to make it easier to port (csilvers)
	* Display source locations in pprof disassembly (sanjay)
	* BUGFIX: Actually initialize allocator name (mec)
	* BUGFIX: Keep track of 'overhead' bytes in malloc reporting (csilvers)
	* Allow ignoring one object twice in the leak checker (glider)
	* BUGFIX: top10 in pprof should print 10 lines, not 11 (rsc)
	* Refactor vdso source files (tipp)
	* Some documentation cleanups
	* Document MAX_TOTAL_THREAD_CACHE_SIZE <= 1Gb (nsethi)
	* Add MallocExtension::GetOwnership(ptr) (csilvers)
	* BUGFIX: We were leaving out a needed $(top_srcdir) in the Makefile
	* PORTING: Support getting argv0 on OS X
	* Add 'weblist' command to pprof: like 'list' but html (sanjay)
	* Improve source listing in pprof (sanjay)
	* Cap cache sizes to reduce fragmentation (ruemmler)
	* Improve performance by capping or increasing sizes (ruemmler)
	* Add M{,un}mapReplacmenet hooks into MallocHook (ribrdb)
	* Refactored system allocator logic (gangren)
	* Include cleanups (csilvers)
	* Add TCMALLOC_SMALL_BUT_SLOW support (ruemmler)
	* Clarify that tcmalloc stats are MiB (robinson)
	* Remove support for non-tcmalloc debugallocation (blount)
	* Add a new test: malloc_hook_test (csilvers)
	* Change the configure script to be more crosstool-friendly (mcgrathr)
	* PORTING: leading-underscore changes to support win64 (csilvers)
	* Improve debugallocation tc_malloc_size (csilvers)
	* Extend atomicops.h and cyceclock to use ARM V6+ optimized code (sanek)
	* Change malloc-hook to use a list-like structure (llib)
	* Add flag to use MAP_PRIVATE in memfs_malloc (gangren)
	* Windows support for pprof: nul and /usr/bin/file (csilvers)
	* TESTING: add test on strdup to tcmalloc_test (csilvers)
	* Augment heap-checker to deal with no-inode maps (csilvers)
	* Count .dll/.dylib as shared libs in heap-checker (csilvers)
	* Disable sys_futex for arm; it's not always reliable (sanek)
	* PORTING: change lots of windows/port.h macros to functions
	* BUGFIX: Generate correct version# in tcmalloc.h on windows (csilvers)
	* PORTING: Some casting to make solaris happier about types (csilvers)
	* TESTING: Disable debugallocation_test in 'minimal' mode (csilvers)
	* Rewrite debugallocation to be more modular (csilvers)
	* Don't try to run the heap-checker under valgrind (ppluzhnikov)
	* BUGFIX: Make focused stat %'s relative, not absolute (sanjay)
	* BUGFIX: Don't use '//' comments in a C file (csilvers)
	* Quiet new-gcc compiler warnings via -Wno-unused-result, etc (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@110 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-07-16 01:07:10 +00:00
csilvers 8c7d2289d2 * Fix typos in comment in profiler.h (nrhodes)
* #include fixes (jyrki)
        * Add missing stddef.h for ptrdiff_t (mec)
        * Add M{,un}mapReplacement hooks into MallocHook (ribrdb)
        * Force big alloc in frag test (ruemmler)
        * PERF: Increase the size class cache to 64K entries (ruemmler)
        * PERF: Increase the transfer cache by 16x (ruemmler)
        * Use windows intrinsic to get the tsc (csilvers)
        * Rename atomicops-internals-x86-msvc.h->windows.h (csilvers)
        * Remove flaky DEATH test in malloc_hook_test (ppluzhnikov)
        * Expose internal ReadStackTraces()/etc (lantran)
        * Refactored system allocator logic (gangren)
        * Include-what-you-use: cleanup tcmalloc #includes (csilvers)
        * Don't set kAddressBits to 48 on 32-bit systems (csilvers)
        * Add declaration for __rdtsc() for windows (koda)
        * Don't revert to system alloc for expected errors (gangren)
        * Add TCMALLOC_SMALL_BUT_SLOW support (ruemmler)
        * Clarify that tcmalloc stats are MiB (robinson)
        * Avoid setting cpuinfo_cycles_per_second to 0 (koda)
        * Fix frag_unittest memory calculations (ruemmler)
        * Remove support for non-tcmalloc debugallocation (blount)
	* Add malloc_hook_test (llib)
	* Change the objcopy -W test to be cross-friendly (mcgrathr)
	* Export __tcmalloc in addition to _tcmalloc, for 86_64 (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@109 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-05-19 21:37:12 +00:00
csilvers 1d30e525ae * Improve debugallocation tc_malloc_size (csilvers)
* Extend atomicops.h to use ARM V6+ optimized code (sanek)
	* Fix failure in Ranges test (ppluzhnikov)
	* Change malloc-hook to use a list-like structure (llib)
	* Update tcmalloc_regtest to use new malloc hooks (llib)
	* PARTIAL: Keep track of 'overhead' bytes in the page cache (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@108 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-03-21 21:41:55 +00:00
csilvers 6fe07cd2c0 * add a flag to use MAP_PRIVATE in memfs_malloc (gangren)
* pthread_self() is now safe to use early (ppluzhnikov)
        * windows support for pprof: nul and /usr/bin/file (csilvers)
        * fix tc_malloc_size for debugallocation (csilvers)
        * add test on strdup to tcmalloc_test (csilvers)
        * augment heap-checker to deal with no-inode maps (csilvers)
	* Get rid of -Wno-unused-result: not all gcc's support it (csilvers)
	* /bin/true -> ':', which is faster and more portable (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@107 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-03-04 23:52:33 +00:00
csilvers 75584139e4 * Enhance cycleclock on ARM v6 and above (sanek)
* Reduce object copying by using a reference (nherring)
	* Modified lock annotations a bit (lcwu)
	* Make debugallocation test a bit more forgiving (csilvers)
	* Count .dll/.dylib as shared libs in heapchecker (csilvers)
	* Disable sys_futex for arm (sanek)
	* Don't use macros as much in windows/port.h (andrey.s...)
	* Update #includes in case malloc.h is in weird places (csilvers)
	* Turn off some not-so-useful warnings in gcc 4 (csilvers)
	* Do some casting to make solaris happier about types (csilvers)
	* Disable debugallocation_test in 'minimal' mode (csilvers)
	* Rewrite debugallocation to be more modular (csilvers)
        * We can't run the heap-checker under valgrind (ppluzhnikov)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@106 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-03-02 08:10:05 +00:00
csilvers c1abbfae80 * avoid unused-var warnings with annotalysis (lcwu)
* make focused stats %'s relative, not absolute (sanjay)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@105 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-02-19 00:11:09 +00:00
csilvers dd3d9d969e * Fix tcmalloc_unittest on MSVC 10 in release mode (csilvers)
* Fix malloc_hook_c.h to compile with -ansi under gcc (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@104 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-02-08 01:03:37 +00:00
csilvers 7375b4f3cb Fri Feb 04 15:54:31 2011 Google Inc. <opensource@google.com>
* google-perftools: version 1.7 release
	* Reduce page map key size under x86_64 by 4.4MB (rus)
	* Remove a flaky malloc-extension test (fdabek)
	* Improve the performance of PageHeap::New (ond..., csilvers)
	* Improve sampling_test with no-inline additions/etc (fdabek)
	* 16-byte align debug allocs (jyasskin)
	* Change FillProcSelfMaps to detect out-of-buffer-space (csilvers)
	* Document the need for sampling to use GetHeapSample (csilvers)
	* Try to read TSC frequency from tsc_freq_khs (adurbin)
	* Do better at figuring out if tests are running under gdb (ppluzhnikov)
	* Improve spinlock contention performance (ruemmler)
	* Better internal-function list for pprof's /contention (ruemmler)
	* Speed up GoogleOnce (m3b)
	* Limit number of incoming/outgoing edges in pprof (sanjay)
	* Add pprof --evince to go along with --gv (csilvers)
	* Document the various ways to get heap-profiling information (csilvers)
	* Separate out synchronization profiling routines (ruemmler)
	* Improve malloc-stats output to be more understandable (csilvers)
	* Add support for census profiler in pporf (nabeelmian)
	* Document how pprof's /symbol must support GET requests (csilvers)
	* Improve acx_pthread.m4 (ssuomi, liujisi)
	* Speed up pprof's ExtractSymbols (csilvers)
	* Ignore some known-leaky (java) libraries in the heap checker (davidyu)
	* Make kHideMask use all 64 bits in tests (ppluzhnikov)
	* Clean up pprof input-file handling (csilvers)
	* BUGFIX: Don't crash if __environ is NULL (csilvers)
	* BUGFIX: Fix totally broken debugallocation tests (csilvers)
	* BUGFIX: Fix up fake_VDSO handling for unittest (ppluzhnikov)
	* BUGFIX: Suppress all large allocs when report threshold is 0 (lexie)
	* BUGFIX: mmap2 on i386 takes an off_t, not off64_t (csilvers)
	* PORTING: Add missing PERFTOOLS_DLL_DECL (csilvers)
	* PORTING: Add stddef.h to make newer gcc's happy (csilvers)
	* PORTING: Document some tricks for working under OS X (csilvers)
	* PORTING: Don't try to check valgrind for windows (csilvers)
	* PORTING: Make array-size a var to compile under clang (chandlerc)
	* PORTING: No longer hook _aligned_malloc and _aligned_free (csilvers)
	* PORTING: Quiet some gcc warnings (csilvers)
	* PORTING: Replace %PRIxPTR with %p to be more portable (csilvers)
	* PORTING: Support systems that capitalize /proc weirdly (sanek)
	* PORTING: Treat arm3 the same as arm5t in cycletimer (csilvers)
	* PORTING: Update windows logging to not allocate memory (csilvers)
	* PORTING: avoid double-patching newer windows DLLs (roger.orr)
	* PORTING: get dynamic_annotations.c to work on windows (csilvers)
	* Add pkg-config .pc files for the 5 libraries we produce (csilvers)
	* Added proper libtool versioning, so this lib will be 0.1.0 (csilvers)
	* Moved from autoconf 2.64 to 2.65


git-svn-id: http://gperftools.googlecode.com/svn/trunk@102 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-02-05 00:19:37 +00:00
csilvers 3d77cbf7d5 * Make kHideMask use all 64 bits (ppluzhnikov)
* Add new IsDebuggerAttached method (ppluzhnikov)
	* Document some tricks for maybe getting perftools to work on OS X
	* Redo file-top pprof commands (csilvers)
	* Clean up pprof input-file handling (csilvers)
	* 16-byte align debug allocs (jyasskin)
	* Ignore JVM memory leakage in the heap checker (davidyu, kkurimoto)
	* Better internal-function list for contentionz (ruemmler)
	* mmap2 on i386 takes an off_t, not an off64_t (csilvers)
	* Fix up fake-VDSO handling for unittest (ppluzhnikov)
	* Don't try to check valgrind for windows (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@101 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2011-01-19 21:37:15 +00:00
csilvers a0a2ff3b49 * PORTING: Add PERFTOOLS_DLL_DECL to malloc_hook_c.h (csilvers)
* Add new .h files to Makefile (csilvers)


git-svn-id: http://gperftools.googlecode.com/svn/trunk@100 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2010-11-24 00:33:20 +00:00
csilvers 3014cf142e * Suppress all large allocs when report threshold==0
* Clarified meaning of various malloc stats
	* Change from ATTRIBUTED_DEPRECATED to comments
	* Make array-size a var to compile under clang
	* Reduce page map key size under x86_64 by 4.4MB
	* Added full qualification to MemoryBarrier
	* Support systems that capitalize /proc weirdly
	* Avoid gcc warning: exporting type in unnamed ns
	* Add some dynamic annotations for gcc attributes
	* Add support for census profiler in pprof
	* Speed up pprof's ExtractSymbols
	* Speed up GoogleOnce
	* Add pkg-config (.pc) files
	* Detect when __environ exists but is NULL
	* Improve spinlock contention performance
	* Add GetFreeListSizes
	* Improve sampling_test, eg by adding no-inline
	* Relax malloc_extension test-check for big pages
	* Add proper library version number information
	* Update from autoconf 2.64 to 2.65
	* Better document how to write a server that works with pprof
	* Change FillProcSelfMaps to better handle out-of-space
	* No longer hook _aligned_malloc/free in windows
	* Handle function-forwarding in DLLs when patching (in windows)
	* Update .vcproj files that had wrong .cc files in them (!)
	* get rid of unnecessary 'size < 0'
	* fix comments a bit in sysinfo.cc
	* another go at improving malloc-stats output
	* fix comment typo in profiler.cc
	* Add a few more thread annotations
	* Try to read TSC frequency from 'tsc_freq_khz'
	* Fix annotalysis/TSAN incompatibility
	* Add pprof --evince to go along with --gv
	* Document need for sampling to use GetHeapSample
	* Fix flakiness in malloc_extension_test
	* Separate out synchronization profiling routines


git-svn-id: http://gperftools.googlecode.com/svn/trunk@99 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2010-11-18 01:07:25 +00:00