dart-sdk/third_party/tcmalloc
Ryan Macnak 73f6d15665 [build] Update clang and gn to match Fuchsia.
This new version has functional TSAN.

Bug: https://github.com/dart-lang/sdk/issues/39611
Change-Id: Ia9835fb6ad6de73f43faea695f893ed0c62fffa7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136380
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2020-02-24 21:04:18 +00:00
..
include Roll tcmalloc to e9ab4c53041ac62feefbbb076d326e9a77dd1567. 2018-12-13 02:20:03 +00:00
.gitignore
BUILD.gn [build] Update clang and gn to match Fuchsia. 2020-02-24 21:04:18 +00:00
configure_command Roll tcmalloc to e9ab4c53041ac62feefbbb076d326e9a77dd1567. 2018-12-13 02:20:03 +00:00
COPYING Clean up the licensing situation of the third_party/tcmalloc directory (#27879) 2016-11-24 09:37:21 +01:00
README.dart Remove MIPS support 2017-06-22 08:49:22 -07:00
tcmalloc_sources.gni [infra] Translate _sources.gypi files to _sources.gni files 2017-08-14 21:54:36 -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,
  and arm for Linux and any other OSs that are supported.