Home | History | Annotate | only in /external/chromium_org/third_party/tcmalloc
Up to higher level directory
NameDateSize
chromium/16-Dec-2014
LICENSE16-Dec-20141.5K
OWNERS16-Dec-201439
PRESUBMIT.py10-Mar-2015505
README.chromium16-Dec-20142.8K
vendor/16-Dec-2014

README.chromium

      1 Name: tcmalloc
      2 Short Name: gperftools
      3 URL: http://gperftools.googlecode.com/
      4 Version: unknown
      5 Revision: 144
      6 Security Critical: yes
      7 License: BSD
      8 
      9 Description:
     10 This contains Chromium's locally patched copy of tcmalloc.
     11 
     12 Contents:
     13 
     14   chromium/
     15 
     16     The chromium patched sources, copied from the vendor/
     17     subdirectory and containing our local modifications.
     18 
     19     We only copy over the vendor/src/ subdirectory (the only piece
     20     we need) but still leave it in a chromium/src/ subdirectory to
     21     keep the directory structures in parallel.
     22 
     23   vendor/
     24 
     25     Vanilla sources from upstream:
     26 
     27       http://gperftools.googlecode.com/svn/trunk
     28 
     29     The current revision is:
     30 
     31       Last Changed Rev: 144
     32       Last Changed Date: 2012-02-04 00:10:11 +0000 (Sat, 04 Feb 2012)
     33 
     34 
     35 
     36 HOWTOs:
     37 
     38   Take a new version from upstream:
     39 
     40     1)  Grab the revision:
     41 
     42         $ svn export [-r {tcmalloc-rev}] \
     43           http://gperftools.googlecode.com/svn/trunk \
     44           vendor-{tcmalloc-rev}
     45 
     46     2)  Check for added or deleted files:
     47 
     48         $ diff -q -r -x .svn vendor vendor-{tcmalloc-rev}
     49 
     50     3)  Copy the new revision on top of the checked-in vendor branch:
     51 
     52         $ cp -r vendor-{tcmalloc-rev}/* vendor
     53 
     54         C:\> xcopy /e/y/i vendor-{tcmalloc-rev}\* vendor
     55 
     56     4)  Make all vendor files non-executable.
     57 
     58         $ find . -executable -type f -exec chmod a-x {} \;
     59 
     60     5)  "svn add" or "svn rm" added or removed files (based on your
     61         "diff -q -r" output from above)
     62 
     63     6)  Create the CL, upload, check it in:
     64 
     65         $ gcl change CL
     66         $ gcl upload CL
     67         $ gcl commit CL
     68 
     69         Note the revision number since you're going to want to merge
     70         that to the local chromium branch.
     71 
     72   Merge a new upstream version with our local patched copy:
     73 
     74     1)  Merge the local revision to chromium/src
     75 
     76         $ svn merge -c {chrome-rev} svn://chrome-svn/chrome/trunk/src/third_party/tcmalloc/vendor/src chromium/src
     77 
     78     2)  Resolve any conflicts
     79 
     80     3)  Create the CL, upload, check in:
     81 
     82         $ gcl change CL
     83         $ gcl upload CL
     84         $ gcl commit CL
     85 
     86 
     87 Modifications:
     88 - Converted to utf-8 with: vim +"argdo write ++enc=utf-8" *.h *.c
     89 - Added support for android.
     90 - Use NULL instead of static_cast<uintptr_t>(0) in stack_trace_table.cc,
     91   for -std=c++11 compatibility.
     92 - Added support for pseudo-stack heap profiling via a callback to retrieve a
     93   simulated stack from the embedding application.
     94 - Inserted spaces around PRIx64, SCNx64 and friends, for c++11 compatibility.
     95 - Fix sprintf formatting warning in MaybeDumpProfileLocked
     96 - Added tc_malloc_skip_new_handler.
     97 - Fix logging issues in android
     98 - Changed DEFINE_foo macros to ignore envname unless ENABLE_PROFILING is defined
     99 - Changed DEFINE_string to define const char*s instead of strings
    100 - Disabled HEAPPROFILE envvar unless ENABLE_PROFILING is defined
    101