summaryrefslogtreecommitdiffstats
path: root/base/allocator
Commit message (Collapse)AuthorAgeFilesLines
* Remove msvs_guids from app, base, breakpad and build.tony@chromium.org2011-06-131-2/+0
| | | | | | | | BUG=28727 Review URL: http://codereview.chromium.org/7108053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88871 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to markglider@chromium.org2011-05-311-0/+1
| | | | | | | | | | | | heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky, update the suppressions. BUG=79322 Review URL: http://codereview.chromium.org/7071036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87278 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 86990 - Fix http://codereview.chromium.org/6869009 to ignore an ↵msw@chromium.org2011-05-271-1/+0
| | | | | | | | | | | | | | | | | | | existing object exactly once and land the CL again: Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to mark heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky, update the suppressions. BUG=79322 TBR=jar Review URL: http://codereview.chromium.org/6976044 TBR=glider@chromium.org Review URL: http://codereview.chromium.org/7071035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86993 0039d316-1c4b-4281-b951-d872f2087c98
* Fix http://codereview.chromium.org/6869009 to ignore an existing object ↵glider@chromium.org2011-05-271-0/+1
| | | | | | | | | | | | | | | | exactly once and land the CL again: Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to mark heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky, update the suppressions. BUG=79322 TBR=jar Review URL: http://codereview.chromium.org/6976044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86990 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Land http://codereview.chromium.org/6869009 for the third time."oshima@google.com2011-05-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | This reverts commit d4ff483fbf60aad0b49fddd1937774edb3ba1d7e. --- Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to mark heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky, update the suppressions. --- TBR=glider@chromium.org TEST=HistogramTest.RecordedStartupTest and WebSocketTest.ServerSentData in heapchecker bot wont hang. BUG=79322 Review URL: http://codereview.chromium.org/6962016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86853 0039d316-1c4b-4281-b951-d872f2087c98
* Land http://codereview.chromium.org/6869009 for the third time.glider@chromium.org2011-05-261-0/+1
| | | | | | | | | | | | | | Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to mark heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky, update the suppressions. BUG=79322 TBR=jar,willchan Review URL: http://codereview.chromium.org/7062016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86794 0039d316-1c4b-4281-b951-d872f2087c98
* Globally replace <(library) with static_libraryevan@chromium.org2011-05-191-1/+1
| | | | | | | | | | | We provided <(library) as a variable to support a peculiar build configuration on Linux. We no longer support that build configuration, so we can simplify this code to no longer use a variable. Review URL: http://codereview.chromium.org/7051014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86004 0039d316-1c4b-4281-b951-d872f2087c98
* Switch to using TCMALLOC in browser process to fix WinHeap hanging IO thread ↵rtenneti@chromium.org2011-05-191-1/+1
| | | | | | | | | | | | | for 15 secs. Note that the renderer process is still using TCMALLOC, and this only changes the default in the browser process. BUG=83285 TEST=memory unit tests R=jar Review URL: http://codereview.chromium.org/7047018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85998 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 85898 - Re-land http://codereview.chromium.org/6869009 (except for ↵glider@chromium.org2011-05-191-1/+0
| | | | | | | | | | | | | | | | | | | | | the suppressions) Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to mark heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky. The previous commit broke the build on Linux Heapcheck, but looks like the problem has gone now. TBR=jar,willchan BUG=79322 Review URL: http://codereview.chromium.org/7048005 TBR=glider@chromium.org Review URL: http://codereview.chromium.org/7049006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85905 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land http://codereview.chromium.org/6869009 (except for the suppressions)glider@chromium.org2011-05-191-0/+1
| | | | | | | | | | | | | | | | Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to mark heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky. The previous commit broke the build on Linux Heapcheck, but looks like the problem has gone now. TBR=jar,willchan BUG=79322 Review URL: http://codereview.chromium.org/7048005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85898 0039d316-1c4b-4281-b951-d872f2087c98
* The gyp files don't have a way to refer to POSIX-like OS's as a group, so I ↵mark@chromium.org2011-05-121-1/+1
| | | | | | | | | | | | | | | | defined os_posix, toolkit_gtk, and use_x11 in common.gypi to handle them. I used something similar when porting Chromium 10 and 11 to OpenBSD and Solaris, plus a version of this patch has been tested on FreeBSD. Chromium has also been built on other BSDs, so rather than adding each Unix to every gyp file individually every time another port is added, these broad defines can be used instead and modified with specific logic only where necessary. I included a few modified gyp files so the usage can be seen. I also added sunos5 to some grd/html files and set the default host_arch on i86pc solaris to ia32. BUG=0 TEST={} Patch by ruben <chromium@hybridsource.org>. Review URL: http://codereview.chromium.org/6965007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85154 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 82460 - Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can ↵glider@chromium.org2011-04-211-1/+0
| | | | | | | | | be used to markheap allocated objects as intentionally leaked ones.Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked.Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky, update the suppressions.BUG=79322Review URL: http://codereview.chromium.org/6869009 TBR=cbentzel Review URL: http://codereview.chromium.org/6873152 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82483 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce the ANNOTATE_LEAKING_OBJECT_PTR annotation that can be used to markglider@chromium.org2011-04-211-0/+1
| | | | | | | | | | | | heap allocated objects as intentionally leaked ones. Annotate the histograms produced by {Histogram,BooleanHistogram,LinearHistogram,CustomHistogram}::FactoryGet(), as leaked. Rename StatsHistogram::StatsHistogramFactoryGet to StatsHistogram::FactoryGet, annotate the result as leaky, update the suppressions. BUG=79322 Review URL: http://codereview.chromium.org/6869009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82460 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 79258 - Mark all the free'ed region with special markers so that browserrtenneti@chromium.org2011-03-241-2/+1
| | | | | | | | | | | | | | | | will crash if free'ed memory is accessed (hoping to detect the memory corrupters). Landed the original CL to get results from stability tests. BUG=76891 TBR=jar Review URL: http://codereview.chromium.org/6676098 TBR=rtenneti@chromium.org Review URL: http://codereview.chromium.org/6732018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79259 0039d316-1c4b-4281-b951-d872f2087c98
* Mark all the free'ed region with special markers so that browserrtenneti@chromium.org2011-03-241-1/+2
| | | | | | | | | | | will crash if free'ed memory is accessed (hoping to detect the memory corrupters). BUG=76891 TBR=jar Review URL: http://codereview.chromium.org/6676098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79258 0039d316-1c4b-4281-b951-d872f2087c98
* Switch to using WinHeap for the browser processjar@chromium.org2011-03-241-2/+2
| | | | | | | | | | | | | | | | | | | | | Disabled the TCMalloc double-free detection, which should restore much of the performance loss caused by this experiment (to find double frees, if any). This should resolve bug 76640 As an alternate experiment to better illuminate our memory corruption problem, this CL also enables WinHeap (default Windows allocator) in the browser process. There is a chance that this will cause a very tiny reduction in performance, but it will surely increase our crash rate (based on what we saw recently on the dev channel). BUG=76640 r=rtenneti Review URL: http://codereview.chromium.org/6705027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79224 0039d316-1c4b-4281-b951-d872f2087c98
* Add redundancy to detect double frees in TCMallocjar@chromium.org2011-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I don't think I want to ship this to dev or stable, but I think it may be valuable to try on our canary builds. Added a single byte or word (tranparently) to all allocations, and wrote a unique value into that location after each allocation. When free() is called, we validate the flag, and then mark the block as not being allocated. Any time a block fails to validate, we crash, as this means the object either overran its allocated region (or suffered memory corruption), or else (more likely) a double free took place. We have two distinct crash stacks for the two distinct validation problems (corrupt vs double free). ALthough I haven't been able to demonstrate a problem on the bots, I'm pretty psyched to try to find something in the field with this change. The perf loss is very low, and I think that the likely cause for TCMalloc cross-linked-list corruption (double frees) will be detected (I can hope!) R=mbelshe BUG=75921 Review URL: http://codereview.chromium.org/6683029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78369 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 78166 - Test impact of an allocator change to detect double freesjar@chromium.org2011-03-151-1/+1
| | | | | | | | | | | | I'll revert as soon as the builds kick off. TBR=willchan Review URL: http://codereview.chromium.org/6677037 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/6693013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78169 0039d316-1c4b-4281-b951-d872f2087c98
* Test impact of an allocator change to detect double freesjar@chromium.org2011-03-151-1/+1
| | | | | | | | | I'll revert as soon as the builds kick off. TBR=willchan Review URL: http://codereview.chromium.org/6677037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78166 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 77958 - Make sure Windows default heap will crash on corruptionjar@chromium.org2011-03-131-3/+0
| | | | | | | | | | | | | | | I'm hoping this will get us some crashes on double frees, but I'm wary about performance impact, so I'll land this, and then revert it, to see what impact it has on the perf bots. TBR=cpu Review URL: http://codereview.chromium.org/6686022 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/6686030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77962 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure Windows default heap will crash on corruptionjar@chromium.org2011-03-131-0/+3
| | | | | | | | | | | | I'm hoping this will get us some crashes on double frees, but I'm wary about performance impact, so I'll land this, and then revert it, to see what impact it has on the perf bots. TBR=cpu Review URL: http://codereview.chromium.org/6686022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77958 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 77948 - Add redundancy to detect double frees in TCMallocjar@chromium.org2011-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [I just wanted to kick a reliability run with it as a test] Added a single byte or word (tranparently) to all allocations, and wrote a unique value into that location after each allocation. When free() is called, we validate the flag, and then mark the block as not being allocated. Any time a block fails to validate, we crash, as this means the object either overran its allocated region (or suffered memory corruption), or else (more likely) a double free took place. We have two distinct crash stacks for the two distinct validation problems (corrupt vs double free). I did a first landing of this patch to test perf impact and see what corruption it surfaced in: http://src.chromium.org/viewvc/chrome?view=rev&revision=77941 It appears that Windows is not using TCMalloc on our bots. TBR=mbelshe Review URL: http://codereview.chromium.org/6683027 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/6682020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77949 0039d316-1c4b-4281-b951-d872f2087c98
* Add redundancy to detect double frees in TCMallocjar@chromium.org2011-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a single byte or word (tranparently) to all allocations, and wrote a unique value into that location after each allocation. When free() is called, we validate the flag, and then mark the block as not being allocated. Any time a block fails to validate, we crash, as this means the object either overran its allocated region (or suffered memory corruption), or else (more likely) a double free took place. We have two distinct crash stacks for the two distinct validation problems (corrupt vs double free). I did a first landing of this patch to test perf impact and see what corruption it surfaced in: http://src.chromium.org/viewvc/chrome?view=rev&revision=77941 It appears that Windows is not using TCMalloc on our bots. TBR=mbelshe Review URL: http://codereview.chromium.org/6683027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77948 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 77941 - Add redundancy to detect double frees in TCMallocjar@chromium.org2011-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I'll land and revert this quickly, to see what impact it has on performance. Added a single byte or word (tranparently) to all allocations, and wrote a unique value into that location after each allocation. When free() is called, we validate the flag, and then mark the block as not being allocated. Any time a block fails to validate, we crash, as this means the object either overran its allocated region (or suffered memory corruption), or else (more likely) a double free took place. We have two distinct crash stacks for the two distinct validation problems (corrupt vs double free). TBR=mbelshe Review URL: http://codereview.chromium.org/6679021 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/6679029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77942 0039d316-1c4b-4281-b951-d872f2087c98
* Add redundancy to detect double frees in TCMallocjar@chromium.org2011-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | I'll land and revert this quickly, to see what impact it has on performance. Added a single byte or word (tranparently) to all allocations, and wrote a unique value into that location after each allocation. When free() is called, we validate the flag, and then mark the block as not being allocated. Any time a block fails to validate, we crash, as this means the object either overran its allocated region (or suffered memory corruption), or else (more likely) a double free took place. We have two distinct crash stacks for the two distinct validation problems (corrupt vs double free). TBR=mbelshe Review URL: http://codereview.chromium.org/6679021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77941 0039d316-1c4b-4281-b951-d872f2087c98
* Support mixed allocation in browser vs subprocessesjar@chromium.org2011-03-083-18/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [This is a re-landing of CL 6623059, which broke the shared library build on windows in revision 77207. An ifdef has been added to avoid the unresolved variable when allocator_shim.cc is never even compiled] Continue to support selection of a browser allocator selection via the environment variable CHROME_ALLOCATOR, and also add CHROME_ALLOCATOR_2 that can select the allocator to use in subprocesses, such as a renderer. Temporarilly set the browser default to the default windows heap allocator, and the subprocess allocator to TCMalloc to help detect memory corruption in a cannary for a few days. This may illuminate some flakiness in the tree, as double frees (hidden by races) may cause crashes. Add minor cleanup (removing reserved word "override" etc.). BUG=74901 TBR=mbelshe Review URL: http://codereview.chromium.org/6623072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77245 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 77207 - Support mixed allocation in browser vs subprocessesjar@chromium.org2011-03-073-78/+18
| | | | | | | | | | | | | | | | | | | | | | | | | Continue to support selection of a browser allocator selection via the environment variable CHROME_ALLOCATOR, and also add CHROME_ALLOCATOR_2 that can select the allocator to use in subprocesses, such as a renderer. Temporarilly set the browser default to the default windows heap allocator, and the subprocess allocator to TCMalloc to help detect memory corruption in a cannary for a few days. Add minor cleanup (removing reserved word "override" etc.). r=mbelshe bug=74901 Review URL: http://codereview.chromium.org/6623059 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/6623069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77208 0039d316-1c4b-4281-b951-d872f2087c98
* Support mixed allocation in browser vs subprocessesjar@chromium.org2011-03-073-18/+78
| | | | | | | | | | | | | | | | | | | | | | Continue to support selection of a browser allocator selection via the environment variable CHROME_ALLOCATOR, and also add CHROME_ALLOCATOR_2 that can select the allocator to use in subprocesses, such as a renderer. Temporarilly set the browser default to the default windows heap allocator, and the subprocess allocator to TCMalloc to help detect memory corruption in a cannary for a few days. Add minor cleanup (removing reserved word "override" etc.). r=mbelshe bug=74901 Review URL: http://codereview.chromium.org/6623059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77207 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 77111 - Test performance of default allocator in browser processjar@chromium.org2011-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This is a test, and will be reverted as soon as the build starts. We just want to see what the perf bots have to say. This CL changes the default allocator to be the Windows Allocator (rather than TCMalloc), but then overrides that default via the environment variable control *during* the running of the browser_main. The result is that the browser process will use the Windows Allocator, but all sub-processes, such as renderers, will use TCMalloc. TBR=cpu BUG=74901 Review URL: http://codereview.chromium.org/6624050 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/6627045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77116 0039d316-1c4b-4281-b951-d872f2087c98
* Test performance of default allocator in browser processjar@chromium.org2011-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | This is a test, and will be reverted as soon as the build starts. We just want to see what the perf bots have to say. This CL changes the default allocator to be the Windows Allocator (rather than TCMalloc), but then overrides that default via the environment variable control *during* the running of the browser_main. The result is that the browser process will use the Windows Allocator, but all sub-processes, such as renderers, will use TCMalloc. TBR=cpu BUG=74901 Review URL: http://codereview.chromium.org/6624050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77111 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 77066 - Test impact of using default windows allocatorjar@chromium.org2011-03-061-1/+1
| | | | | | | | | | | | | | | | | | | I'll revert this as soon as the builds kick off. I just want to look at perf impact. I'll ceate a fancier CL that uses different allocators for render vs browser, but I wanted an overall baseline for transitioning completely from TCMalloc to the default allocator on Windows. TBR=cpu Review URL: http://codereview.chromium.org/6635004 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/6623041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77067 0039d316-1c4b-4281-b951-d872f2087c98
* Test impact of using default windows allocatorjar@chromium.org2011-03-061-1/+1
| | | | | | | | | | | | | | | | I'll revert this as soon as the builds kick off. I just want to look at perf impact. I'll ceate a fancier CL that uses different allocators for render vs browser, but I wanted an overall baseline for transitioning completely from TCMalloc to the default allocator on Windows. TBR=cpu Review URL: http://codereview.chromium.org/6635004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77066 0039d316-1c4b-4281-b951-d872f2087c98
* Remove obsolete dependencies that create needless recompiling.jeanluc@chromium.org2011-02-151-1/+0
| | | | | | | | | BUG=71130 Review URL: http://codereview.chromium.org/6523009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74966 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 73121 - Remove obsolete files from 'sources'. This causes needless ↵nsylvain@chromium.org2011-01-311-0/+1
| | | | | | | | | | | | | | | | | | work on incremental builds in VS2010. This is breaking clobber builds with this error : e:\b\build\slave\google-chrome-rel-win\build\src\chrome_frame\iids.cc(6) : fatal error C1083: Cannot open include file: 'chrome_tab.h': No such file or directory BUG=71130 TEST=Check that Chrome builds. Review URL: http://codereview.chromium.org/6307018 TBR=jeanluc@chromium.org Review URL: http://codereview.chromium.org/6347032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73124 0039d316-1c4b-4281-b951-d872f2087c98
* Remove obsolete files from 'sources'. This causes needless work on ↵jeanluc@chromium.org2011-01-301-1/+0
| | | | | | | | | | | incremental builds in VS2010. BUG=71130 TEST=Check that Chrome builds. Review URL: http://codereview.chromium.org/6307018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73121 0039d316-1c4b-4281-b951-d872f2087c98
* Clang: enable -Wbool-conversions and -Wunused-variables on Linux.hans@chromium.org2011-01-141-8/+8
| | | | | | | | | | | | | | | -Wbool-conversion warns about EXPECT_EQ(false, blah), so replace that with EXPECT_FALSE(blah). Do the same with EXPECT_EQ(true, blah) for good measure (even though that doesn't generate warnings). Also remove the one instance of an unused variable. BUG=69421 TEST=buildbots all compile and all tests pass Review URL: http://codereview.chromium.org/6300001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71431 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing several typos in gyp files detected by jeanluc's forthcoming changes ↵bradnelson@google.com2011-01-111-1/+1
| | | | | | | | | | | to gyp. BUG=None TEST=None Review URL: http://codereview.chromium.org/6130007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71082 0039d316-1c4b-4281-b951-d872f2087c98
* This CL introduces the stack shadowing mechanism that should help TCMalloc'sglider@chromium.org2010-08-271-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | heap leak checker to unwind the memory allocation stacks better. Currently, if a memory region is allocated from a library built without frame pointers heapchecker is unable to unwind the stack and records only the top frame. This is inconvenient, because: -- several leaks from different places are treated as leaks from the same source -- it's hard to suppress such leaks, because a one-line suppression is uninformative linux_shadow_stacks.cc keeps the threads' IP and SP values in thread-local stacks upon each function entry/exit using gcc function instrumentation (-finstrument-functions). The GetStackTrace routine from stacktrace_shadow-inl.h unwinds the stack as usual (using frame pointers), but then updates the result with the shadow stack frames which SP values are below the bottom frame of the unwind result. Note that -finstrument-functions affects only Chromium code, not the libraries. This means that we cannot get more than one library function frame at the top of the stack. For example, consider a libfoo library that has a public foo_do_something() routine which allocates memory via foo_alloc(). If Chromium calls foo_do_something() from ChromeCallFoo(), then the following call chain effectively happens: main -> ChromeCallFoo -> foo_do_something -> foo_alloc If libfoo is built with -fomit-frame-pointers, heapcheck can unwind only the last stack frame: foo_alloc On the other hand, the shadow stack at the allocation site contains everything below the libfoo calls: main -> ChromeCallFoo As a result the following allocation stack is recorded: main -> ChromeCallFoo -> foo_alloc This is enough to distinguish between e.g. ChromeCallFoo1 and ChromeCallFoo2 Review URL: http://codereview.chromium.org/3120017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57658 0039d316-1c4b-4281-b951-d872f2087c98
* Fix nacl_sandbox_tests dependency:victorw@chromium.org2010-07-191-1/+1
| | | | | | | | | | | | | | | allocator target should be added as dependency only when win_use_allocator_shim is 1. Also fix a typo in allocator_shim.cc R=jvoung@google.com, mbelshe@chromium.org TEST=none BUG=none Review URL: http://codereview.chromium.org/3011011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52947 0039d316-1c4b-4281-b951-d872f2087c98
* Merge tcmalloc r93 into the Chromium tcmalloc branch.glider@chromium.org2010-05-251-1/+1
| | | | | | | | | We can't afford using r94 due to a performance regression. TBR=willchan,antonm,jar,mbelshe Review URL: http://codereview.chromium.org/2144003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48145 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 48024 - Reland http://codereview.chromium.org/1735024/show to assess ↵glider@chromium.org2010-05-241-1/+1
| | | | | | | | | | | the performance. Review URL: http://codereview.chromium.org/2164001 TBR=antonm,willchan Review URL: http://codereview.chromium.org/2155002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48032 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land http://codereview.chromium.org/1735024/show to assess the performance.glider@chromium.org2010-05-241-1/+1
| | | | | | | | TBR=antonm,willchan Review URL: http://codereview.chromium.org/2164001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48024 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 47897 - Linux: Add libunwind as a dependency of tcmalloc in 64 bit mode.willchan@chromium.org2010-05-211-21/+3
| | | | | | | | | | | | | | Based on willchan's patch here: http://codereview.chromium.org/2109009/show BUG=40149 TEST=none TBR=willchan Review URL: http://codereview.chromium.org/2137010 TBR=thestig@chromium.org Review URL: http://codereview.chromium.org/2107016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47933 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 47789 - The newer version of tcmalloc should fix the problems with ↵glider@chromium.org2010-05-211-1/+1
| | | | | | | | | | | running tcmalloc under Valgrind. Review URL: http://codereview.chromium.org/1735024 TBR=willchan,antonm Review URL: http://codereview.chromium.org/2138002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47909 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Add libunwind as a dependency of tcmalloc in 64 bit mode.thestig@chromium.org2010-05-211-3/+21
| | | | | | | | | | | Based on willchan's patch here: http://codereview.chromium.org/2109009/show BUG=40149 TEST=none TBR=willchan Review URL: http://codereview.chromium.org/2137010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47897 0039d316-1c4b-4281-b951-d872f2087c98
* The newer version of tcmalloc should fix the problems with running tcmalloc ↵glider@chromium.org2010-05-201-1/+1
| | | | | | | | under Valgrind. Review URL: http://codereview.chromium.org/1735024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47789 0039d316-1c4b-4281-b951-d872f2087c98
* Move dynamic_annotations into a separate gyp file to breaktony@chromium.org2010-05-191-1/+1
| | | | | | | | | | a circular gyp dependency between allocator.gyp and base.gyp. BUG=44538 Review URL: http://codereview.chromium.org/2108016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47637 0039d316-1c4b-4281-b951-d872f2087c98
* Update dynamic annotations and move them to base/third_partytimurrrr@chromium.org2010-05-141-1/+5
| | | | | | Review URL: http://codereview.chromium.org/1992005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47252 0039d316-1c4b-4281-b951-d872f2087c98
* Add the linux_use_debugallocation flag.glider@chromium.org2010-04-161-14/+30
| | | | | | | | | | | Setting this flag to 1 shall force the use of debugallocation.cc instead of tcmalloc.cc The flag is off by default because it still needs testing. BUG=30715 Review URL: http://codereview.chromium.org/1513043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44759 0039d316-1c4b-4281-b951-d872f2087c98
* Add the linux_use_heapchecker GYP variable that should turn the tcmalloc heapglider@chromium.org2010-03-261-2/+12
| | | | | | | lleak checker on and off. Review URL: http://codereview.chromium.org/1334002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42740 0039d316-1c4b-4281-b951-d872f2087c98