3 URL: http://gperftools.googlecode.com/
10 This contains Chromium's locally patched copy of tcmalloc.
16 The chromium patched sources, copied from the vendor/
17 subdirectory and containing our local modifications.
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.
25 Vanilla sources from upstream:
27 http://gperftools.googlecode.com/svn/trunk
29 The current revision is:
32 Last Changed Date: 2012-02-04 00:10:11 +0000 (Sat, 04 Feb 2012)
38 Take a new version from upstream:
42 $ svn export [-r {tcmalloc-rev}] \
43 http://gperftools.googlecode.com/svn/trunk \
46 2) Check for added or deleted files:
48 $ diff -q -r -x .svn vendor vendor-{tcmalloc-rev}
50 3) Copy the new revision on top of the checked-in vendor branch:
52 $ cp -r vendor-{tcmalloc-rev}/* vendor
54 C:\> xcopy /e/y/i vendor-{tcmalloc-rev}\* vendor
56 4) Make all vendor files non-executable.
58 $ find . -executable -type f -exec chmod a-x {} \;
60 5) "svn add" or "svn rm" added or removed files (based on your
61 "diff -q -r" output from above)
63 6) Create the CL, upload, check it in:
69 Note the revision number since you're going to want to merge
70 that to the local chromium branch.
72 Merge a new upstream version with our local patched copy:
74 1) Merge the local revision to chromium/src
76 $ svn merge -c {chrome-rev} svn://chrome-svn/chrome/trunk/src/third_party/tcmalloc/vendor/src chromium/src
78 2) Resolve any conflicts
80 3) Create the CL, upload, check in:
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