Commit Graph

13 Commits

Author SHA1 Message Date
Aliaksey Kandratsenka 4f051fddcd eliminated CheckIfKernelSupportsTLS
We don't care about pre-2.6.0 kernels anymore. So we can assume that
if compile time check worked, then at runtime it'll work.
2014-12-07 17:46:04 -08:00
Aliaksey Kandratsenka 42ddc8d42c added emacs -*- mode lines for google coding style 2013-10-12 15:36:42 -07:00
chappedm@gmail.com a5dacccd6a issue-466: Clarified stats output and comments for ExtractStats() and GetThreadStats()
git-svn-id: http://gperftools.googlecode.com/svn/trunk@188 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-12-22 19:06:35 +00:00
chappedm@gmail.com 6856d1d1b2 issue-488: Performance improvement for initialization checks
These came in from the Google-internal version of tcmalloc. They saw some
decent speed improvements, both on microbenchmarks and big programs. The
idea is to improve the speed of the "Is everything initialized?" type of
code, that's at the start of all allocations and deallocations.


git-svn-id: http://gperftools.googlecode.com/svn/trunk@184 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
2012-12-22 18:34:43 +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 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 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 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 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 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 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 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 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