summaryrefslogtreecommitdiffstats
path: root/tools/cygprofile
Commit message (Collapse)AuthorAgeFilesLines
* Add use_allocator instead of linux_use_tcmalloc to switch the allocator.dmikurube@chromium.org2014-03-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is to add a new build option 'use_allocator' which will replace 'linux_use_tcmalloc' in the future. It doesn't change the behavior immediately. The migration plan is as follows: 1) (this change) ... Add 'use_allocator' and set its default to "see_use_tcmalloc". ... Change allocator conditions to check use_allocator firstly. ... Use linux_use_tcmalloc if use_allocator=="see_use_tcmalloc". ... NO IMPACT without specifying use_allocator explicitly. 2) Change Blink to accept use_allocator. http://crrev.com/177053003/ 3) Change gyp to accept use_allocator. http://crrev.com/178643004/ 4) PSA the transition period to chromium-dev@. 5) (after the PSA-ed transition period) ... Make 'use_allocator' to "tcmalloc" or "none" (it depends) by default. ... Remove all linux_use_tcmalloc. ... Assert in gyp_chromium to check if linux_use_tcmalloc is not specified. At the point of this change (1), linux_use_tcmalloc is still used by default because 'use_allocator%': "see_use_tcmalloc". As written in http://crbug.com/345554, linux_use_tcmalloc would be confusing to have more options about allocators. We plan to: A) enable gperftools' heap-profiler with non-tcmalloc allocator, B) add a new memory allocator instead of tcmalloc. BUG=345554, 339604, 341349 R=agl@chromium.org, brettw@chromium.org, dgarrett@chromium.org, jam@chromium.org, jamesr@chromium.org, joi@chromium.org, miket@chromium.org, nick@chromium.org, rsleevi@chromium.org, scherkus@chromium.org, sergeyu@chromium.org, shess@chromium.org, sievers@chromium.org, sky@chromium.org, vitalybuka@chromium.org, willchan@chromium.org Review URL: https://codereview.chromium.org/177353002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255129 0039d316-1c4b-4281-b951-d872f2087c98
* Rename base/hash_tables to base/containers/hash_tables.brettw@chromium.org2013-06-111-1/+1
| | | | | | | | | | | Remove forwarding header BUG= R=avi@chromium.org Review URL: https://codereview.chromium.org/16667019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205584 0039d316-1c4b-4281-b951-d872f2087c98
* Add scripts for using cygprofile to repositoryaberent@chromium.org2013-05-303-0/+554
| | | | | | | | | | | | | | | | | | These scripts, which are used to create a link order file for Linux based builds (Linux, Android, ChromeOS). This commit simply moves them from a Google private web page where they have lived for the last couple of years. The scripts are: mergetraces.py - merge multiple cygprofile traces into a single trace symbolise.py - convert traces into an order file with symbols patch_orderfile.py - complete the order file with symbols from Chrome. I will seperately add a page on creating an order file to the Chromium web site. Review URL: https://chromiumcodereview.appspot.com/16151006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203143 0039d316-1c4b-4281-b951-d872f2087c98
* Fix cygprofile compile error.felipeg@chromium.org2012-12-201-4/+4
| | | | | | | | | | | During last code review I changed the code after a reviewer comment and forgot to recompile. BUG= Review URL: https://chromiumcodereview.appspot.com/11578030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174128 0039d316-1c4b-4281-b951-d872f2087c98
* Change cygprofile to work on Android.felipeg@chromium.org2012-12-042-7/+21
| | | | | | | | | | | We want to use cygprofile for the same purpose as the chromeos: To generate order_text_session files based on earliest run of each function call. BUG=150893 Review URL: https://chromiumcodereview.appspot.com/11348354 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171034 0039d316-1c4b-4281-b951-d872f2087c98
* Note: this change does nothing unless order_profiling=1 is manually set in ↵glotov@google.com2012-05-162-0/+406
GYP defines (or EXTRA_BUILD_ARGS for cros). When enabled, this tool is built into Chrome and makes it log its routine invocations. Every time a routine is called and if it is called for the first time (per each thread), the log is updated with current time and the address of the routine. Later, such logs can be merged (across all threads), symbolized and fed into linker ('order_text_section') so it produces binary with more optimal code layout. This must make code work faster because of better CPU cache utilization. See more technical details in tools/cygprofile/cygprofile.cc header. Cyg prefix is taken after the callback names in gcc that we use to hook the code: __cyg_profile_func_enter and __cyg_profile_func_exit. More info at https://sites.google.com/a/google.com/chrome-msk/dev/boot-speed-up-effort BUG=chromium-os:20187 TEST=units, build cros with declare -x EXTRA_BUILD_ARGS="order_profiling=1 linux_use_tcmalloc=0" run it and check the log at /var/log/chrome/cyglog.*. Review URL: https://chromiumcodereview.appspot.com/8770054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137391 0039d316-1c4b-4281-b951-d872f2087c98