summaryrefslogtreecommitdiffstats
path: root/third_party/tcmalloc
Commit message (Collapse)AuthorAgeFilesLines
* Revert 38882 - Land http://codereview.chromium.org/576001 again temporarily.glider@chromium.org2010-02-1648-2045/+820
| | | | | | | | | | | TBR=jar,antonm Review URL: http://codereview.chromium.org/596083 TBR=glider@chromium.org Review URL: http://codereview.chromium.org/604063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39083 0039d316-1c4b-4281-b951-d872f2087c98
* Land http://codereview.chromium.org/576001 again temporarily.glider@chromium.org2010-02-1248-820/+2045
| | | | | | | | TBR=jar,antonm Review URL: http://codereview.chromium.org/596083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38882 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 38766 - Temporarily land http://codereview.chromium.org/576001 to ↵glider@chromium.org2010-02-1148-2045/+820
| | | | | | | | | | | | | | | check the performance. TBR=antonm,jar Review URL: http://codereview.chromium.org/597040 TBR=glider@chromium.org Review URL: http://codereview.chromium.org/598064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38772 0039d316-1c4b-4281-b951-d872f2087c98
* Temporarily land http://codereview.chromium.org/576001 to check theglider@chromium.org2010-02-1148-820/+2045
| | | | | | | | | | performance. TBR=antonm,jar Review URL: http://codereview.chromium.org/597040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38766 0039d316-1c4b-4281-b951-d872f2087c98
* Updated the third_party/tcmalloc/vendor revision to r87.glider@chromium.org2010-02-0465-10146/+6480
| | | | | | | | | This change should not affect any Chromium builds. TBR=willchan, sgk Review URL: http://codereview.chromium.org/570021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38090 0039d316-1c4b-4281-b951-d872f2087c98
* Increase the size of buffer used by LogPrintf to 1600 bytes.glider@chromium.org2010-01-121-1/+1
| | | | | | | | | | 600 bytes is not enough to print full symbolized stacks of the memory leaks. TBR=willchan Review URL: http://codereview.chromium.org/550011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36011 0039d316-1c4b-4281-b951-d872f2087c98
* Removing the last remaining vsprops files (that are hooked in).bradnelson@google.com2010-01-041-2/+2
| | | | | | | | | | | | | Also pulling in a newer nacl version. Switching to use AdditionalOptions in list form. BUG=None TEST=None TBR=mmentovai Review URL: http://codereview.chromium.org/523027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35449 0039d316-1c4b-4281-b951-d872f2087c98
* Backported the HEAP_CHECK_MAX_LEAKS feature from the upstream perftools.glider@chromium.org2009-12-251-1/+7
| | | | | | | | This should allow the heapcheck bot to print all the leaks found. Review URL: http://codereview.chromium.org/522012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35274 0039d316-1c4b-4281-b951-d872f2087c98
* Made pprof executable and set the explicit path to it in the heapcheck runner.glider@chromium.org2009-12-241-0/+0
| | | | | | | TBR=willchan Review URL: http://codereview.chromium.org/515029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35262 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring build configurations - make it clearer and allow better support ↵gregoryd@google.com2009-12-221-2/+2
| | | | | | | | | | | | | for x64 on Windows TEST=none BUG=29467 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=35012 Review URL: http://codereview.chromium.org/501127 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35129 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 35012 - Rearrange build configurations make it clearer and allow ↵gregoryd@google.com2009-12-191-2/+2
| | | | | | | | | | | | | | better support for x64 on Windows TEST=none BUG=29467 Review URL: http://codereview.chromium.org/501127 TBR=gregoryd@google.com Review URL: http://codereview.chromium.org/500149 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35016 0039d316-1c4b-4281-b951-d872f2087c98
* Rearrange build configurations - make it clearer and allow better support ↵gregoryd@google.com2009-12-191-2/+2
| | | | | | | | | | | for x64 on Windows TEST=none BUG=29467 Review URL: http://codereview.chromium.org/501127 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35012 0039d316-1c4b-4281-b951-d872f2087c98
* Provide for lazy commit of page-map meta-data in TCMallocjar@chromium.org2009-12-124-1/+208
| | | | | | | | | | | | | | | | | | Define a variant of the flat-map that was historically defined as PageMap1, which allocated about 4MB in an array to map all possible pages to their status as part of a span. This version (under Windows only) uses VirtualAlloc to effectively reserve the space, and then only commit the space when it is necessary to ensure it is available. The bulk of the code is almost directly modeled on PageMap1, which is also defined in pagemap.h. bug=30010 r=willchan Review URL: http://codereview.chromium.org/460155 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34422 0039d316-1c4b-4281-b951-d872f2087c98
* Add linux_valgrind as a default trybot for tools/valgrind/memcheck/ and ↵timurrrr@chromium.org2009-12-041-0/+12
| | | | | | | | | | | | | third_party/tcmalloc/ Apart from annoying developers with try mail, I think this will make some allocation-related changes better tested. Also, this would help us check the correctness of suppressions (especially, if they are formatted incorrectly). TEST=try a changelist in tools/valgrind/memcheck/ or third_party/tcmalloc/ and notice linux_valgrind bot Review URL: http://codereview.chromium.org/465046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33828 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the old locations of forked tcmalloc files.sgk@chromium.org2009-12-0125-15379/+0
| | | | | | | | | | Remove the tcmalloc line from DEPS in favor of our vendor branch. Remove the old jemalloc checked in underneath tcmalloc. BUG=27911 TEST=none Review URL: http://codereview.chromium.org/457002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33506 0039d316-1c4b-4281-b951-d872f2087c98
* Point #include lines to files in the new tcmalloc/chromium local branch.sgk@chromium.org2009-12-011-2/+2
| | | | | | | | | Add +third_party\tcmalloc to webkit\DEPS. BUG=27911 TEST=none Review URL: http://codereview.chromium.org/449016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33440 0039d316-1c4b-4281-b951-d872f2087c98
* Fork a copy of the vanilla upstream copy of page_heap.cc renamed tosgk@chromium.org2009-11-262-0/+501
| | | | | | | | | | | page_heap_linux.cc, since the Linux build can't use the current Windows-specific version of page_heap.cc. Adds #ifdef in page_heap.h for API changes where the old API is still used by Linux and the new API is used by windows. BUG=27911 TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33180 0039d316-1c4b-4281-b951-d872f2087c98
* Merge r77 from upstream tcmalloc to the local chromium branch.sgk@chromium.org2009-11-2519-734/+263
| | | | | | | | BUG=27911 TEST=none Review URL: http://codereview.chromium.org/440027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33151 0039d316-1c4b-4281-b951-d872f2087c98
* Match the vendor branch to the current tcmalloc rev in DEPS.sgk@chromium.org2009-11-2531-5227/+9389
| | | | | | | | BUG=27911 TEST=none Review URL: http://codereview.chromium.org/443010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33136 0039d316-1c4b-4281-b951-d872f2087c98
* Fix forked location of tcmalloc.h.sgk@chromium.org2009-11-251-0/+0
| | | | | | | BUG=27911 TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33078 0039d316-1c4b-4281-b951-d872f2087c98
* Merge r33049 (symbolize_linux.cc) to new allocator structure.sgk@chromium.org2009-11-252-1/+191
| | | | | | | BUG=27911 TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33074 0039d316-1c4b-4281-b951-d872f2087c98
* Gcc4 build fixes for tcmalloc.willchan@chromium.org2009-11-253-1/+194
| | | | | | Review URL: http://codereview.chromium.org/436042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33049 0039d316-1c4b-4281-b951-d872f2087c98
* Branch new tcmalloc_linux.cc into new chromium\src branch. Update newsgk@chromium.org2009-11-251-0/+1415
| | | | | | | | | base\allocator\allocator.gyp with merged changes from tcmalloc.gyp. BUG=27911 TEST=none Review URL: http://codereview.chromium.org/432021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33047 0039d316-1c4b-4281-b951-d872f2087c98
* Replace forked tcmalloc files with branches from current files tosgk@chromium.org2009-11-2510-434/+875
| | | | | | | | | preserve checkin history. svn cp the added config*.h files into the local patched branch. BUG=27911 TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33031 0039d316-1c4b-4281-b951-d872f2087c98
* Branch tcmalloc\vendor\src to tcmalloc\chromium\src as basis for local changes.sgk@chromium.org2009-11-25163-0/+50530
| | | | | | | BUG=27911 TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33024 0039d316-1c4b-4281-b951-d872f2087c98
* Import vanilla upstream tcmalloc sources into a vendor branchsgk@chromium.org2009-11-25274-0/+109616
| | | | | | | | | as a basis for local changes. BUG=27911 TEST=none Review URL: http://codereview.chromium.org/436037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33016 0039d316-1c4b-4281-b951-d872f2087c98
* Enable TCMalloc on Linux by default.willchan@chromium.org2009-11-252-0/+1422
| | | | | | | | | | This change also reworks the tcmalloc dependency to be added only to chrome and test_shell, instead of base. This is necessary since otherwise tcmalloc will be double initialized (by both the main executable and dlopen'd shared objects like the npapitestplugin.so). Add valgrind suppressions. This are invalid reads on static initialization in the VDSOSupport module. I haven't investigated it yet, but I suspect they're benign. BUG=http://crbug.com/28149, http://crbug.com/28385 Review URL: http://codereview.chromium.org/399081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33010 0039d316-1c4b-4281-b951-d872f2087c98
* Undo in-progress README + tcmalloc.gyp changes caught in last checkin.sgk@chromium.org2009-11-202-160/+115
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/419003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32652 0039d316-1c4b-4281-b951-d872f2087c98
* Delete unused zero-length malloc_hook.cc file, left over from unforking.sgk@chromium.org2009-11-203-115/+160
| | | | | | | BUG=none TESt=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32650 0039d316-1c4b-4281-b951-d872f2087c98
* Fix tcmalloc.gyp for scons generator.willchan@chromium.org2009-11-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Had errors like (note, I added an exception handler to print the error): ________ running '/usr/bin/python src/build/gyp_chromium' in '/usr/local/google/chromium1' Updating projects from gyp files... Traceback (most recent call last): File "src/build/gyp_chromium", line 79, in <module> sys.exit(gyp.main(args)) File "src/tools/gyp/pylib/gyp/__init__.py", line 432, in main generator.GenerateOutput(flat_list, targets, data, params) File "src/tools/gyp/pylib/gyp/generator/scons.py", line 995, in GenerateOutput GenerateSConscript(output_file, spec, build_file, data[build_file]) File "src/tools/gyp/pylib/gyp/generator/scons.py", line 328, in GenerateSConscript GenerateConfig(fp, config, indent, src_subdir) File "src/tools/gyp/pylib/gyp/generator/scons.py", line 207, in GenerateConfig value = [escape_quotes(v) for v in value] File "src/tools/gyp/pylib/gyp/generator/scons.py", line 172, in escape_quotes foo = escape_quotes_re.sub('\\1\\"\\2\\"', s) TypeError: expected string or buffer Input: ['NO_TCMALLOC_SAMPLES', '']. failed to run command: /usr/bin/python src/build/gyp_chromium Review URL: http://codereview.chromium.org/399075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32361 0039d316-1c4b-4281-b951-d872f2087c98
* Disable tcmalloc sampling by default.jar@chromium.org2009-11-181-0/+3
| | | | | | | | | | | | | | | It's not performance critical, but it allocates some additional amount of memory on sampled allocations which we probably do not want. [This is really http://codereview.chromium.org/385105 written by antonm, and I'm just landing it.] r=antonm,willchan Review URL: http://codereview.chromium.org/401012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32329 0039d316-1c4b-4281-b951-d872f2087c98
* Get more precise count of commited bytes in statsjar@chromium.org2009-11-181-1/+1
| | | | | | | | | | | | | | | | Account for bytes allocated for meta info when calculating the number of committed bytes. [This is partly CL http://codereview.chromium.org/384086 by Antonm, and I'm just landing it for him.] Also changed mechanism of gathering commited bytes to be sure we are under a lock (via ExtractStats) while fetching data. r=antonm,sgk Review URL: http://codereview.chromium.org/385098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32328 0039d316-1c4b-4281-b951-d872f2087c98
* Implement the memory leak annotations for heap leak checker.willchan@chromium.org2009-11-111-0/+416
| | | | | | | | | | | | | leak_annotations.h provides the ANNOTATE_SCOPED_MEMORY_LEAK macro that can be used for annotating known memory leaks in the tests. Those will be ignored by the heap leak checker. Patch contributed by ramosian.glider@gmail.com. Original review at http://codereview.chromium.org/346038/show Review URL: http://codereview.chromium.org/385049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31721 0039d316-1c4b-4281-b951-d872f2087c98
* Upgrade google-perftools to revision 77timurrrr@chromium.org2009-11-025-513/+18
| | | | | | | | | | | | This brings several bugfixes needed for turning on the heap leak checker inside tcmalloc. Unforked malloc_hook.cc for Linux This patch was prepared by Alexander Potapenko (cc'ed) and originally reviewed as http://codereview.chromium.org/339065 Review URL: http://codereview.chromium.org/340065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30735 0039d316-1c4b-4281-b951-d872f2087c98
* Taking advantage of new configuration inheritance option.bradnelson@chromium.org2009-10-291-15/+1
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/342041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30515 0039d316-1c4b-4281-b951-d872f2087c98
* Disable the -fvisibility=hidden flag for tcmalloctimurrrr@chromium.org2009-10-291-0/+3
| | | | | | | | | | This is necessary to fix the crashes of binaries linked with tcmalloc. The patch was prepared by Alexander Potapenko (cc'ed) Originally reviewed as http://codereview.chromium.org/343037 Review URL: http://codereview.chromium.org/342039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30479 0039d316-1c4b-4281-b951-d872f2087c98
* Added the symbols needed to enable heapchecker using a 64-bit compiler (the ↵timurrrr@chromium.org2009-10-221-0/+1
| | | | | | | | | | buildbots seemed to ignore the heapchecker symbols defined previously in ldflags) This patch was prepared by Alexander Potapenko (cc'ed) TBR=evan,mbelshe,bradn already LGTM'd at http://codereview.chromium.org/300039 Review URL: http://codereview.chromium.org/315015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29770 0039d316-1c4b-4281-b951-d872f2087c98
* Add the support for tcmalloc's heap leak checker.timurrrr@chromium.org2009-10-211-0/+2
| | | | | | | | | | | The heap checker will be linked with libtcmalloc by default. This patch was prepared by Alexander Potapenko (cc'ed) and originally reviewed as http://codereview.chromium.org/307005 TBR=evan,bradn (already LGTMed at http://codereview.chromium.org/307005) Review URL: http://codereview.chromium.org/292043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29625 0039d316-1c4b-4281-b951-d872f2087c98
* Modify allocator to use malloc for the realloc(0, size) case.mbelshe@google.com2009-10-191-0/+6
| | | | | | | | | | | | This works around webkit sensitivity to allocators that return zero in this case. BUG=20200 TEST=none Review URL: http://codereview.chromium.org/302005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29425 0039d316-1c4b-4281-b951-d872f2087c98
* Tracks the amount of committed vs uncommitted memory in tcmalloc's page ↵jamesr@chromium.org2009-10-063-11/+53
| | | | | | | | | | | | | heap's freelists Keeps track of the number of reserved but not committed pages in the freelist and uses that to calculate a waste metric, which is the ratio of committed pages vs pages used by the application. This is exposed in the GetStats() call (which is used for about:tcmalloc) and through GetNumericalProperty() in MallocExtension. BUG=none TEST=open about:tcmalloc and monitor 'WASTE' columns while using the browser Review URL: http://codereview.chromium.org/251065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28133 0039d316-1c4b-4281-b951-d872f2087c98
* Add comments setting emacs and vim tab width and expansion variables.sgk@google.com2009-10-061-0/+6
| | | | | | | | BUG=none TEST=successful builds Review URL: http://codereview.chromium.org/256059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28089 0039d316-1c4b-4281-b951-d872f2087c98
* Enable TCMallocjar@chromium.org2009-10-051-1/+1
| | | | | | | | | | With TCMalloc now being more conservative about commitment, this change will reenable it as the default allocator. r=mbelshe,jamesr Review URL: http://codereview.chromium.org/246089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28020 0039d316-1c4b-4281-b951-d872f2087c98
* Revert further back to MBelshe's baseline forking TCMallocjar@chromium.org2009-10-052-19/+32
| | | | | | | | | | This changes to decommitting in all paths through the page_heap delete method (which adds spans to the free lists). r=mbelshe,jamesr Review URL: http://codereview.chromium.org/255067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28006 0039d316-1c4b-4281-b951-d872f2087c98
* Set JEMalloc as the default allocator (instead of TCMalloc)jar@chromium.org2009-10-011-1/+1
| | | | | | | | | | | | | | | | | I got this change approved to try out earlier, and landed it. I rolled it back (to be conservative) after I got a chromebot run started. Since that bot run didn't show any giant problems, this will re-land the change, so we can see how users (such as on a dev channel release) do with this allocator. This is really experimental... but it will give us some info to make a better decision between ongoing tuning of TCMalloc and at least temporarilly using JEMalloc. tbr=mbelshe Review URL: http://codereview.chromium.org/256024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27708 0039d316-1c4b-4281-b951-d872f2087c98
* Revert to using TCMallocjar@chromium.org2009-10-011-1/+1
| | | | | | | | | | | I wanted to see how the chromebot would do with JEMalloc. I just checked it in, and after a chrome-bot run kicks off, I'll land this effectively reverting rev 27702 back to using TCMalloc. tbr=mbelshe Review URL: http://codereview.chromium.org/242092 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27703 0039d316-1c4b-4281-b951-d872f2087c98
* Try to use JEMALLOC as the default allocatorjar@chromium.org2009-10-011-2/+2
| | | | | | | r=jamesr,mbelshe Review URL: http://codereview.chromium.org/244055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27702 0039d316-1c4b-4281-b951-d872f2087c98
* Rollback Scavenge implemetation and rely on existing functionality to freejar@chromium.org2009-10-018-723/+6
| | | | | | | | | | | | | | This is a landing of a patch provided by antonm. See: http://codereview.chromium.org/235022 Also included change to browser_about_handler.cc to fix build, and I set TCMALLOC_RELEASE_RATE to 1.0 on line 40 of page_heap.cc (I think this was an inadvertent rollback element). r=antonm Review URL: http://codereview.chromium.org/257009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27692 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a few \r\ns I accidentally added to a comment.jamesr@chromium.org2009-09-251-2/+2
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/245006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27257 0039d316-1c4b-4281-b951-d872f2087c98
* Rounds up VirtualAlloc calls on windows to dwAllocationGranularity to ↵jamesr@chromium.org2009-09-251-19/+20
| | | | | | | | | | | | | | | | | | | | | | prevent fragmentation Actually on Windows VirtualAlloc'ated address might have bigger alignment than reported by SYSTEM_INFO.dwPageSize, see SYSTEM_INFO.dwAllocationGranularity. As coalescing of spans in tcmalloc requires that those spans are physically adjacent, using smaller alignment inhibited coalescing. Additional benefit is we now require ways less memory at least in some case. Also adds assert()s for alignment values that would lead to pathological virtual address space waste. No current callers pass in alignment values other than kPageSize and it's unlikely anyone will. Original patch and discussion was at http://codereview.chromium.org/235003 Patch by: antonm@chromium.org BUG=22701 TEST=Manually checked test page that did 10m XHR. Memory use goes from >2GB and a crash to 102MB. Membuster shows the change is roughly within noise and possibly a very slight regression ( <<5% ). Review URL: http://codereview.chromium.org/222028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27162 0039d316-1c4b-4281-b951-d872f2087c98
* Preliminary fixes to enable link dependent objects.maruel@chromium.org2009-09-241-2/+0
| | | | | | | | BUG=22926 TEST=still builds Review URL: http://codereview.chromium.org/231020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27112 0039d316-1c4b-4281-b951-d872f2087c98