dart-sdk/third_party/tcmalloc
Zachary Anderson f1c7a22c43 [infra] Fixes for cross-toolchains
toolchain_prefix was not correctly propagated everywhere it needed to
go. This CL also adds an error to build.py if someone tries to use
--toolchain as it is not supported there.

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2797303005 .
2017-04-06 15:03:26 -07:00
..
include Fix standalone VM build for Android for tcmalloc. 2016-09-16 16:05:54 -07:00
.gitignore Use tcmalloc on Linux 2016-09-16 08:24:54 -07:00
BUILD.gn [infra] Fixes for cross-toolchains 2017-04-06 15:03:26 -07:00
configure_command Use tcmalloc on Linux 2016-09-16 08:24:54 -07:00
COPYING Clean up the licensing situation of the third_party/tcmalloc directory (#27879) 2016-11-24 09:37:21 +01:00
README.dart Clean up the licensing situation of the third_party/tcmalloc directory (#27879) 2016-11-24 09:37:21 +01:00
tcmalloc.gypi Fix standalone VM build for Android for tcmalloc. 2016-09-16 16:05:54 -07:00
tcmalloc_sources.gypi Add tcmalloc to GN build 2016-09-23 15:24:54 -07:00

Dart uses tcmalloc in the standalone VM on Linux.

To roll tcmalloc forward:
. Clone the gperftools git repo at the revision you want in a directory off
  to the side.

. Run a configure command similar to the one in the configure_command file in
  this directory. It is up to you to determine if different flags are required
  for the newer gperftools.

. From that repo, copy src/config.h and src/gperftools/tcmalloc.h, and any other
  generated header files to the include/ directory in this directory.

. Also copy the COPYING file and any other relevant licensing information.

. Make sure that include/config.h defines HAVE_UCONTEXT_H on Linux,

. Update tcmalloc_sources.gypi, and tcmalloc.gyp if necessary. This may require
  inspecting gperftools/Makefile.am to see any additional source files and
  preprocessor defines (-D flags).

. Update the DEPS file with the new git hash.

. Build and run tests for Debug, Release, and Product builds for ia32, x64, mips
  and arm for Linux and any other OSs that are supported.