| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. 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 * * Neither the name of Google Inc. nor the names of its | 10 * * Neither the name of Google Inc. nor the names of its |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 */ | 25 */ |
| 26 | 26 |
| 27 #include "DynamicAnnotations.h" | 27 #include "DynamicAnnotations.h" |
| 28 | 28 |
| 29 #if USE(DYNAMIC_ANNOTATIONS) && !USE(DYNAMIC_ANNOTATIONS_NOIMPL) | 29 #if USE(DYNAMIC_ANNOTATIONS) && !USE(DYNAMIC_ANNOTATIONS_NOIMPL) |
| 30 | 30 |
| 31 // Identical code folding(-Wl,--icf=all) countermeasures. | 31 // Identical code folding(-Wl,--icf=all) countermeasures. |
| 32 // This makes all Annotate* functions different, which prevents the linker from | 32 // This makes all Annotate* functions different, which prevents the linker from |
| 33 // folding them. | 33 // folding them. |
| 34 #ifdef __COUNTER__ | 34 #ifdef __COUNTER__ |
| 35 #define DYNAMIC_ANNOTATIONS_IMPL \ | 35 #define DYNAMIC_ANNOTATIONS_IMPL \ |
| 36 volatile short lineno = (__LINE__ << 8) + __COUNTER__; \ | 36 volatile short lineno = (__LINE__ << 8) + __COUNTER__; \ |
| 37 (void)lineno; | 37 (void)lineno; |
| 38 #else | 38 #else |
| 39 #define DYNAMIC_ANNOTATIONS_IMPL \ | 39 #define DYNAMIC_ANNOTATIONS_IMPL \ |
| 40 volatile short lineno = (__LINE__ << 8); \ | 40 volatile short lineno = (__LINE__ << 8); \ |
| 41 (void)lineno; | 41 (void)lineno; |
| 42 #endif | 42 #endif |
| 43 | 43 |
| 44 void WTFAnnotateBenignRaceSized(const char*, int, const volatile void*, long, co
nst char*) | 44 void WTFAnnotateBenignRaceSized(const char*, |
| 45 { | 45 int, |
| 46 DYNAMIC_ANNOTATIONS_IMPL | 46 const volatile void*, |
| 47 long, |
| 48 const char*) { |
| 49 DYNAMIC_ANNOTATIONS_IMPL |
| 47 } | 50 } |
| 48 | 51 |
| 49 void WTFAnnotateHappensBefore(const char*, int, const volatile void*) | 52 void WTFAnnotateHappensBefore(const char*, int, const volatile void*) { |
| 50 { | 53 DYNAMIC_ANNOTATIONS_IMPL |
| 51 DYNAMIC_ANNOTATIONS_IMPL | |
| 52 } | 54 } |
| 53 | 55 |
| 54 void WTFAnnotateHappensAfter(const char*, int, const volatile void*) | 56 void WTFAnnotateHappensAfter(const char*, int, const volatile void*) { |
| 55 { | 57 DYNAMIC_ANNOTATIONS_IMPL |
| 56 DYNAMIC_ANNOTATIONS_IMPL | |
| 57 } | 58 } |
| 58 | 59 |
| 59 #endif // USE(DYNAMIC_ANNOTATIONS) && !USE(DYNAMIC_ANNOTATIONS_NOIMPL) | 60 #endif // USE(DYNAMIC_ANNOTATIONS) && !USE(DYNAMIC_ANNOTATIONS_NOIMPL) |
| OLD | NEW |