OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//build/config/sanitizers/sanitizers.gni") | 5 import("//build/config/sanitizers/sanitizers.gni") |
6 | 6 |
7 if (is_android || current_cpu == "mipsel" || is_mac || is_ios || is_asan || | 7 if (is_android || current_cpu == "mipsel" || is_mac || is_ios || is_asan || |
8 is_lsan || is_tsan || is_msan || is_win || is_syzyasan) { | 8 is_lsan || is_tsan || is_msan || is_win || is_syzyasan) { |
9 _default_allocator = "none" | 9 _default_allocator = "none" |
10 } else { | 10 } else { |
11 _default_allocator = "tcmalloc" | 11 _default_allocator = "tcmalloc" |
12 } | 12 } |
13 | 13 |
| 14 if (is_linux && !is_asan && !is_lsan && !is_tsan && !is_msan) { |
| 15 _default_use_experimental_allocator_shim = true |
| 16 } else { |
| 17 _default_use_experimental_allocator_shim = false |
| 18 } |
| 19 |
14 declare_args() { | 20 declare_args() { |
15 # Memory allocator to use. Set to "none" to use default allocator. | 21 # Memory allocator to use. Set to "none" to use default allocator. |
16 use_allocator = _default_allocator | 22 use_allocator = _default_allocator |
17 | 23 |
18 # TODO(primiano): this should just become the default without having a flag, | 24 # TODO(primiano): this should just become the default without having a flag, |
19 # but we need to get there first. http://crbug.com/550886 . | 25 # but we need to get there first. http://crbug.com/550886 . |
20 # Causes all the allocations to be routed via allocator_shim.cc. | 26 # Causes all the allocations to be routed via allocator_shim.cc. |
21 use_experimental_allocator_shim = false | 27 use_experimental_allocator_shim = _default_use_experimental_allocator_shim |
22 } | 28 } |
23 | 29 |
24 assert(use_allocator == "none" || use_allocator == "tcmalloc") | 30 assert(use_allocator == "none" || use_allocator == "tcmalloc") |
25 | 31 |
26 assert(!is_win || use_allocator == "none", "Tcmalloc doesn't work on Windows.") | 32 assert(!is_win || use_allocator == "none", "Tcmalloc doesn't work on Windows.") |
27 assert(!use_experimental_allocator_shim || is_linux, | 33 assert(!use_experimental_allocator_shim || is_linux, |
28 "use_experimental_allocator_shim supported only on Linux") | 34 "use_experimental_allocator_shim supported only on Linux") |
OLD | NEW |