Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(671)

Side by Side Diff: third_party/tcmalloc/chromium/src/base/dynamic_annotations.c

Issue 9667026: Revert 126020 - Experiment for updating the tcmalloc chromium branch to r144 (gperftools 2.0). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* Copyright (c) 2008-2009, Google Inc. 1 /* Copyright (c) 2008-2009, Google Inc.
2 * All rights reserved. 2 * All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 43
44 #ifdef __GNUC__ 44 #ifdef __GNUC__
45 /* valgrind.h uses gcc extensions so it won't build with other compilers */ 45 /* valgrind.h uses gcc extensions so it won't build with other compilers */
46 # ifdef HAVE_VALGRIND_H /* prefer the user's copy if they have it */ 46 # ifdef HAVE_VALGRIND_H /* prefer the user's copy if they have it */
47 # include <valgrind.h> 47 # include <valgrind.h>
48 # else /* otherwise just use the copy that we have */ 48 # else /* otherwise just use the copy that we have */
49 # include "third_party/valgrind.h" 49 # include "third_party/valgrind.h"
50 # endif 50 # endif
51 #endif 51 #endif
52 52
53 /* Compiler-based ThreadSanitizer defines
54 DYNAMIC_ANNOTATIONS_EXTERNAL_IMPL = 1
55 and provides its own definitions of the functions. */
56
57 #ifndef DYNAMIC_ANNOTATIONS_EXTERNAL_IMPL
58 # define DYNAMIC_ANNOTATIONS_EXTERNAL_IMPL 0
59 #endif
60
61 /* Each function is empty and called (via a macro) only in debug mode. 53 /* Each function is empty and called (via a macro) only in debug mode.
62 The arguments are captured by dynamic tools at runtime. */ 54 The arguments are captured by dynamic tools at runtime. */
63 55
64 #if DYNAMIC_ANNOTATIONS_ENABLED == 1 \ 56 #if DYNAMIC_ANNOTATIONS_ENABLED == 1
65 && DYNAMIC_ANNOTATIONS_EXTERNAL_IMPL == 0
66 57
67 void AnnotateRWLockCreate(const char *file, int line, 58 void AnnotateRWLockCreate(const char *file, int line,
68 const volatile void *lock){} 59 const volatile void *lock){}
69 void AnnotateRWLockDestroy(const char *file, int line, 60 void AnnotateRWLockDestroy(const char *file, int line,
70 const volatile void *lock){} 61 const volatile void *lock){}
71 void AnnotateRWLockAcquired(const char *file, int line, 62 void AnnotateRWLockAcquired(const char *file, int line,
72 const volatile void *lock, long is_w){} 63 const volatile void *lock, long is_w){}
73 void AnnotateRWLockReleased(const char *file, int line, 64 void AnnotateRWLockReleased(const char *file, int line,
74 const volatile void *lock, long is_w){} 65 const volatile void *lock, long is_w){}
75 void AnnotateBarrierInit(const char *file, int line, 66 void AnnotateBarrierInit(const char *file, int line,
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 const char *name){} 115 const char *name){}
125 void AnnotateIgnoreReadsBegin(const char *file, int line){} 116 void AnnotateIgnoreReadsBegin(const char *file, int line){}
126 void AnnotateIgnoreReadsEnd(const char *file, int line){} 117 void AnnotateIgnoreReadsEnd(const char *file, int line){}
127 void AnnotateIgnoreWritesBegin(const char *file, int line){} 118 void AnnotateIgnoreWritesBegin(const char *file, int line){}
128 void AnnotateIgnoreWritesEnd(const char *file, int line){} 119 void AnnotateIgnoreWritesEnd(const char *file, int line){}
129 void AnnotateEnableRaceDetection(const char *file, int line, int enable){} 120 void AnnotateEnableRaceDetection(const char *file, int line, int enable){}
130 void AnnotateNoOp(const char *file, int line, 121 void AnnotateNoOp(const char *file, int line,
131 const volatile void *arg){} 122 const volatile void *arg){}
132 void AnnotateFlushState(const char *file, int line){} 123 void AnnotateFlushState(const char *file, int line){}
133 124
134 #endif /* DYNAMIC_ANNOTATIONS_ENABLED == 1 125 #endif /* DYNAMIC_ANNOTATIONS_ENABLED == 1 */
135 && DYNAMIC_ANNOTATIONS_EXTERNAL_IMPL == 0 */
136
137 #if DYNAMIC_ANNOTATIONS_EXTERNAL_IMPL == 0
138 126
139 static int GetRunningOnValgrind(void) { 127 static int GetRunningOnValgrind(void) {
140 #ifdef RUNNING_ON_VALGRIND 128 #ifdef RUNNING_ON_VALGRIND
141 if (RUNNING_ON_VALGRIND) return 1; 129 if (RUNNING_ON_VALGRIND) return 1;
142 #endif 130 #endif
143 #ifdef _MSC_VER 131 #ifdef _MSC_VER
144 /* Visual Studio can complain about getenv, so use a windows equivalent. */ 132 /* Visual Studio can complain about getenv, so use a windows equivalent. */
145 char value[100] = "1"; /* something that is not "0" */ 133 char value[100] = "1"; /* something that is not "0" */
146 int res = GetEnvironmentVariableA("RUNNING_ON_VALGRIND", 134 int res = GetEnvironmentVariableA("RUNNING_ON_VALGRIND",
147 value, sizeof(value)); 135 value, sizeof(value));
(...skipping 16 matching lines...) Expand all
164 static volatile int running_on_valgrind = -1; 152 static volatile int running_on_valgrind = -1;
165 int local_running_on_valgrind = running_on_valgrind; 153 int local_running_on_valgrind = running_on_valgrind;
166 /* C doesn't have thread-safe initialization of statics, and we 154 /* C doesn't have thread-safe initialization of statics, and we
167 don't want to depend on pthread_once here, so hack it. */ 155 don't want to depend on pthread_once here, so hack it. */
168 ANNOTATE_BENIGN_RACE(&running_on_valgrind, "safe hack"); 156 ANNOTATE_BENIGN_RACE(&running_on_valgrind, "safe hack");
169 if (local_running_on_valgrind == -1) 157 if (local_running_on_valgrind == -1)
170 running_on_valgrind = local_running_on_valgrind = GetRunningOnValgrind(); 158 running_on_valgrind = local_running_on_valgrind = GetRunningOnValgrind();
171 return local_running_on_valgrind; 159 return local_running_on_valgrind;
172 } 160 }
173 161
174 #endif /* DYNAMIC_ANNOTATIONS_EXTERNAL_IMPL == 0 */
175
176 /* See the comments in dynamic_annotations.h */ 162 /* See the comments in dynamic_annotations.h */
177 double ValgrindSlowdown(void) { 163 double ValgrindSlowdown(void) {
178 /* Same initialization hack as in RunningOnValgrind(). */ 164 /* Same initialization hack as in RunningOnValgrind(). */
179 static volatile double slowdown = 0.0; 165 static volatile double slowdown = 0.0;
180 double local_slowdown = slowdown; 166 double local_slowdown = slowdown;
181 ANNOTATE_BENIGN_RACE(&slowdown, "safe hack"); 167 ANNOTATE_BENIGN_RACE(&slowdown, "safe hack");
182 if (RunningOnValgrind() == 0) { 168 if (RunningOnValgrind() == 0) {
183 return 1.0; 169 return 1.0;
184 } 170 }
185 if (local_slowdown == 0.0) { 171 if (local_slowdown == 0.0) {
186 char *env = getenv("VALGRIND_SLOWDOWN"); 172 char *env = getenv("VALGRIND_SLOWDOWN");
187 slowdown = local_slowdown = env ? atof(env) : 50.0; 173 slowdown = local_slowdown = env ? atof(env) : 50.0;
188 } 174 }
189 return local_slowdown; 175 return local_slowdown;
190 } 176 }
OLDNEW
« no previous file with comments | « third_party/tcmalloc/chromium/src/base/dynamic_annotations.h ('k') | third_party/tcmalloc/chromium/src/base/elf_mem_image.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698