OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // Workaround for crosbug:629593. Using AFDO on the tcmalloc files is | 5 // Workaround for crosbug:629593. Using AFDO on the tcmalloc files is |
6 // causing problems. The tcmalloc files depend on stack layouts and | 6 // causing problems. The tcmalloc files depend on stack layouts and |
7 // AFDO can mess with them. Better not to use AFDO there. This is a | 7 // AFDO can mess with them. Better not to use AFDO there. This is a |
8 // temporary hack. We will add a mechanism in the build system to | 8 // temporary hack. We will add a mechanism in the build system to |
9 // avoid using -fauto-profile for tcmalloc files. | 9 // avoid using -fauto-profile for tcmalloc files. |
10 #if !defined(__clang__) | 10 #if !defined(__clang__) && (defined(OS_CHROMEOS) || __GNUC__ > 5) |
| 11 // Note that this option only seems to be available in the chromeos GCC 4.9 |
| 12 // toolchain, and stock GCC 5 and up. |
11 #pragma GCC optimize ("no-auto-profile") | 13 #pragma GCC optimize ("no-auto-profile") |
12 #endif | 14 #endif |
13 | 15 |
14 #if defined(TCMALLOC_FOR_DEBUGALLOCATION) | 16 #if defined(TCMALLOC_FOR_DEBUGALLOCATION) |
15 #include "third_party/tcmalloc/chromium/src/debugallocation.cc" | 17 #include "third_party/tcmalloc/chromium/src/debugallocation.cc" |
16 #else | 18 #else |
17 #include "third_party/tcmalloc/chromium/src/tcmalloc.cc" | 19 #include "third_party/tcmalloc/chromium/src/tcmalloc.cc" |
18 #endif | 20 #endif |
OLD | NEW |