| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bugfixes:
1) calling the new handler would return true when exceptions
were disabled. In Chrome's case, this didn't matter,
because we use a handler which forces a crash. However,
if you use a different handler that doesn't crash, this
causes a loop - forever calling the new handler. Return
false instead as there is no other way to break the loop.
2) recalloc() was broken. It was zeroing the buffer on
recalloc calls, which is incorrect.
testing:
I took a set of tests from tcmalloc and applied them into a
new unittest. The new unittest can test all allocators
used by the allocator-shim. I included the atomic tests
in here, simply because it was easy to do, and it seemed
it could prove useful for cross platform testing. Overall,
I'd say these are a sanity test, and not a comprehensive test.
BUG=none
TEST=tcmalloc_unittests.cc
Review URL: http://codereview.chromium.org/213030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26651 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Why: Simpler build code. If everybody includes it, it should be included automatically.
Why now: The webkit chromium builds need it be specified, since can't default to build/common.gypi.
What was done:
1. build/common.gypi's contents were moved to a new file build/gyp_chromium.gypi
2. tools/gyp/gyp_chromium was moved to build/gyp_chromium and made to automatically include build/gyp_chromium.gypi.
3. lots of gyp files were fixed to not refer to build/common.gypi any more.
4. o3d which also builds independently of chrome, was fixed to have a gyp_o3d that includes gyp_chromium.gypi too.
5. build/common.gypi was left empty, because there are some external projects that still refer to it.
Things that are left to do after this patch is in:
1. The following external files (in other repositories) need to stop include common.gypi
./third_party/hunspell/hunspell.gyp
./third_party/icu/icu.gyp
./v8/tools/gyp/v8.gyp
2. Once nobody refers to common.gypi anymore, delete common.gypi
-or-
Delete gyp_chromium.gypi and move its content back to common.gypi
Tested on mac, win and linux. On win, got a few unit tests errors on chrome bookmarks, which should not be related. I'm running again with clobber to verify.
Review URL: http://codereview.chromium.org/206006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26302 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Landing of Anton Muhin's patch (antonm@google.com)
(Reland. First landed in r26264, reverted in r26276. This reland hopefully
doesn't build tcmalloc on Linux.)
Review URL: http://codereview.chromium.org/206017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26298 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
This reverts commit r26264.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26276 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Landing of Anton Muhin's patch (antonm@google.com)
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/206017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26264 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
when the request was for realloc(ptr, 0). Calling realloc(ptr, 0)
is valid, and we should delete ptr and return NULL.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/194040
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25700 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The spec says that calling realloc(ptr, 0) should free ptr
and return NULL.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/196041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25612 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This funciton is defined as part of tcmalloc; it shouldn't be in libcmt anymore.
BUG=none
TEST=none; we're removing code from libc. If this is a problem, it will fail to link.
Review URL: http://codereview.chromium.org/200036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25601 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://codereview.chromium.org/180021/show
Restore decommitting in IncrementalScavenge and draft Scavenge method to
be invoked periodically
to reduce amount of committed pages.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/187008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25188 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/175021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24858 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
didn't work in a clean client since tcmalloc.h wasn't generated.
Review URL: http://codereview.chromium.org/173387
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24538 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
I forgot to add the cpu profiler files last time and got surprised when CPUPROFILE didn't do anything. I've added the files in now.
I also made the libcmt dependency specific to windows, since the make build doesn't like it.
Review URL: http://codereview.chromium.org/173110
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23823 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mostly changes to tcmalloc.gyp to get tcmalloc building for linux.
Supports the full google-perftools tool suite (heapchecker, heapprofiler, cpuprofiler).
Adds in a fix for malloc_hook.cc that is not upstream yet. Forked malloc_hook.cc.
Forces linking in a symbol that is not used except by a static initializer which was getting stripped out, thereby getting heap profiler to work even when statically linked.
TODO: integrate with allocator_shim
TODO: support jemalloc
TODO: support debugallocation
Review URL: http://codereview.chromium.org/173017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23761 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes include:
* Fix tcmalloc to release memory. Implements the TCMalloc_SystemCommit()
mechanism so that tcmalloc can implement SystemRelease() and later
reuse that memory.
* Enable dynamic switching of allocators based on an environment variable.
Users can now switch between tcmalloc, jemalloc, the default windows
heap, and the windows low-fragmentation heap.
* Implements set_new_mode() across all allocators so that we can be sure
that out-of-memory conditions are handled safely.
BUG=18345
TEST=none; plan to get all unit tests running through these allocators.
Review URL: http://codereview.chromium.org/165275
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23140 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purify
Release - no tcmalloc
This is done more pedantically than I'd like,
so I've left in some TODOs. Eventually either gyp needs to support some
notion of inheritance in configurations, or maybe we can make clever use
of includes.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/159362
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22433 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/160314
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21939 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
buildbot cycle.
Review URL: http://codereview.chromium.org/160313
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21938 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
cycle."
This reverts r21826.
Review URL: http://codereview.chromium.org/160261
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21827 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
TBR=willchan
Review URL: http://codereview.chromium.org/159491
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21826 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Updating installer_util_strings to use dummy_executable.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/155371
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20408 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/149447
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20368 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
for integrating the native client build.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19479 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This is so that we can pick up set_new_mode().
BUG=11475
TEST=none
Review URL: http://codereview.chromium.org/118523
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18105 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/119280
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17831 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/119265
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17828 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/113563
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16362 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Minor change to Mike's suggested fix.
Review URL: http://codereview.chromium.org/92037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14257 0039d316-1c4b-4281-b951-d872f2087c98
|
|
with this checkin.
Review URL: http://codereview.chromium.org/79085
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14128 0039d316-1c4b-4281-b951-d872f2087c98
|