naiveproxy/third_party/tcmalloc
2018-08-14 22:19:20 +00:00
..
chromium/src Import chromium-70.0.3521.2 2018-08-14 22:19:20 +00:00
gperftools-2.0 Import chromium-70.0.3521.2 2018-08-14 22:19:20 +00:00
vendor Import chromium-70.0.3521.2 2018-08-14 22:19:20 +00:00
BUILD.gn Import chromium-70.0.3521.2 2018-08-14 22:19:20 +00:00
DEPS Import chromium-70.0.3521.2 2018-08-14 22:19:20 +00:00
LICENSE Import chromium-70.0.3521.2 2018-08-14 22:19:20 +00:00
OWNERS Import chromium-70.0.3521.2 2018-08-14 22:19:20 +00:00
README.chromium Import chromium-70.0.3521.2 2018-08-14 22:19:20 +00:00

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.
- Added support for mips64el.
- Pulled SuggestedDelayNS() implementation for 32bit architectures which do not support 64bit atomicity
- Pulled several mipsel related changes from lss project to fix compile errors
- Fixed line endings in vendor/README_windows.txt to Unix (LF)