mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
.. | ||
chromium/src | ||
vendor | ||
BUILD.gn | ||
DEPS | ||
LICENSE | ||
OWNERS | ||
README.chromium |
Name: tcmalloc Short Name: gperftools URL: http://gperftools.googlecode.com/ Version: unknown Revision: 144 Security Critical: yes License: BSD Description: This contains Chromium's locally patched copy of tcmalloc. Contents: chromium/ The chromium patched sources, copied from the vendor/ subdirectory and containing our local modifications. We only copy over the vendor/src/ subdirectory (the only piece we need) but still leave it in a chromium/src/ subdirectory to keep the directory structures in parallel. vendor/ Vanilla sources from upstream: http://gperftools.googlecode.com/svn/trunk The current revision is: Last Changed Rev: 144 Last Changed Date: 2012-02-04 00:10:11 +0000 (Sat, 04 Feb 2012) HOWTOs: Take a new version from upstream: 1) Grab the revision: $ svn export [-r {tcmalloc-rev}] \ http://gperftools.googlecode.com/svn/trunk \ vendor-{tcmalloc-rev} 2) Check for added or deleted files: $ diff -q -r -x .svn vendor vendor-{tcmalloc-rev} 3) Copy the new revision on top of the checked-in vendor branch: $ cp -r vendor-{tcmalloc-rev}/* vendor C:\> xcopy /e/y/i vendor-{tcmalloc-rev}\* vendor 4) Make all vendor files non-executable. $ find . -executable -type f -exec chmod a-x {} \; 5) "svn add" or "svn rm" added or removed files (based on your "diff -q -r" output from above) 6) Create the CL, upload, check it in: $ gcl change CL $ gcl upload CL $ gcl commit CL Note the revision number since you're going to want to merge that to the local chromium branch. Merge a new upstream version with our local patched copy: 1) Merge the local revision to chromium/src $ svn merge -c {chrome-rev} svn://chrome-svn/chrome/trunk/src/third_party/tcmalloc/vendor/src chromium/src 2) Resolve any conflicts 3) Create the CL, upload, check in: $ gcl change CL $ gcl upload CL $ gcl commit CL Modifications: - Converted to utf-8 with: vim +"argdo write ++enc=utf-8" *.h *.c - Added support for android. - Use NULL instead of static_cast<uintptr_t>(0) in stack_trace_table.cc, for -std=c++11 compatibility. - Added support for pseudo-stack heap profiling via a callback to retrieve a simulated stack from the embedding application. - Inserted spaces around PRIx64, SCNx64 and friends, for c++11 compatibility. - Fix sprintf formatting warning in MaybeDumpProfileLocked - Fix logging issues in android - Changed DEFINE_foo macros to ignore envname unless ENABLE_PROFILING is defined - Changed DEFINE_string to define const char*s instead of strings - Disabled HEAPPROFILE envvar unless ENABLE_PROFILING is defined - Add "ARMv8-a" to the supporting list of ARM architecture - Add generic.total_physical_bytes property to MallocExtension - Conditionally define HAVE_VDSO_SUPPORT only on linux_x86 to avoid static initializers - Add TC_MALLOPT_IS_OVERRIDDEN_BY_TCMALLOC mallopt() arg - Added tc_malloc_skip_new_handler. - Added TCMALLOC_DONT_REPLACE_SYSTEM_ALLOC which bypasses the libc_override logic. - Backported 7df7f14 "issue-693: enable futex usage on arm" from upstream. - Don't use the tls model 'initial-exec' in chromeos on arm with gcc. - Update addr2line-pdb.c to fix format string errors and use relative addresses matching linux's behavior more closely. - Changed kint64min to not depend on undefined behavior. - Fix potential missing nul character in symbol names produced by addr2line-pdb. - Remove superfluous size_t value >= 0 check. - Make kFooType in tcmalloc.cc truly const.