+2014-04-18 Martin Robinson <mrobinson@igalia.com>
+
+ Remove DynamicAnnotations.h?
+ https://bugs.webkit.org/show_bug.cgi?id=131754
+
+ Reviewed by Simon Fraser.
+
+ This file, which helped support tools like Valgrind was unused.
+
+ * WTF.vcxproj/WTF.vcxproj: Remove references to the files.
+ * WTF.vcxproj/WTF.vcxproj.filters: Remove references to the files.
+ * WTF.xcodeproj/project.pbxproj: Remove references to the files.
+ * wtf/CMakeLists.txt: Remove references to the files.
+ * wtf/DynamicAnnotations.cpp: Removed.
+ * wtf/DynamicAnnotations.h: Removed.
+ * wtf/ThreadSafeRefCounted.h: Remove references to the files.
+ * wtf/text/StringStatics.cpp: Remove references to the files.
+
2014-04-18 Philippe Normand <pnormand@igalia.com>
Remove NETWORK_INFO support
<ClCompile Include="..\wtf\dtoa\fast-dtoa.cc" />
<ClCompile Include="..\wtf\dtoa\fixed-dtoa.cc" />
<ClCompile Include="..\wtf\dtoa\strtod.cc" />
- <ClCompile Include="..\wtf\DynamicAnnotations.cpp" />
<ClCompile Include="..\wtf\FastBitVector.cpp" />
<ClCompile Include="..\wtf\FastMalloc.cpp" />
<ClCompile Include="..\wtf\FilePrintStream.cpp" />
<ClInclude Include="..\wtf\dtoa\fixed-dtoa.h" />
<ClInclude Include="..\wtf\dtoa\strtod.h" />
<ClInclude Include="..\wtf\dtoa\utils.h" />
- <ClInclude Include="..\wtf\DynamicAnnotations.h" />
<ClInclude Include="..\wtf\Encoder.h" />
<ClInclude Include="..\wtf\FastBitVector.h" />
<ClInclude Include="..\wtf\FastMalloc.h" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
<ClCompile Include="..\wtf\DecimalNumber.cpp">
<Filter>wtf</Filter>
</ClCompile>
- <ClCompile Include="..\wtf\DynamicAnnotations.cpp">
- <Filter>wtf</Filter>
- </ClCompile>
<ClCompile Include="..\wtf\FastMalloc.cpp">
<Filter>wtf</Filter>
</ClCompile>
<ClInclude Include="..\wtf\DoublyLinkedList.h">
<Filter>wtf</Filter>
</ClInclude>
- <ClInclude Include="..\wtf\DynamicAnnotations.h">
- <Filter>wtf</Filter>
- </ClInclude>
<ClInclude Include="..\wtf\Encoder.h">
<Filter>wtf</Filter>
</ClInclude>
<None Include="WTFPostBuild.cmd" />
<None Include="WTFPreBuild.cmd" />
</ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
A8A473B9151A825B004123FF /* utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A8A47296151A825A004123FF /* utils.h */; };
A8A473BA151A825B004123FF /* dtoa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8A47297151A825A004123FF /* dtoa.cpp */; };
A8A473BB151A825B004123FF /* dtoa.h in Headers */ = {isa = PBXBuildFile; fileRef = A8A47298151A825A004123FF /* dtoa.h */; };
- A8A473BC151A825B004123FF /* DynamicAnnotations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8A47299151A825A004123FF /* DynamicAnnotations.cpp */; };
- A8A473BD151A825B004123FF /* DynamicAnnotations.h in Headers */ = {isa = PBXBuildFile; fileRef = A8A4729A151A825A004123FF /* DynamicAnnotations.h */; };
A8A473C0151A825B004123FF /* Encoder.h in Headers */ = {isa = PBXBuildFile; fileRef = A8A4729E151A825A004123FF /* Encoder.h */; };
A8A473C1151A825B004123FF /* ExportMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = A8A4729F151A825A004123FF /* ExportMacros.h */; };
A8A473C3151A825B004123FF /* FastMalloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8A472A1151A825A004123FF /* FastMalloc.cpp */; };
A8A47296151A825A004123FF /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utils.h; sourceTree = "<group>"; };
A8A47297151A825A004123FF /* dtoa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dtoa.cpp; sourceTree = "<group>"; };
A8A47298151A825A004123FF /* dtoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dtoa.h; sourceTree = "<group>"; };
- A8A47299151A825A004123FF /* DynamicAnnotations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DynamicAnnotations.cpp; sourceTree = "<group>"; };
- A8A4729A151A825A004123FF /* DynamicAnnotations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DynamicAnnotations.h; sourceTree = "<group>"; };
A8A4729E151A825A004123FF /* Encoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Encoder.h; sourceTree = "<group>"; };
A8A4729F151A825A004123FF /* ExportMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExportMacros.h; sourceTree = "<group>"; };
A8A472A1151A825A004123FF /* FastMalloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FastMalloc.cpp; sourceTree = "<group>"; };
A8A47280151A825A004123FF /* DoublyLinkedList.h */,
A8A47297151A825A004123FF /* dtoa.cpp */,
A8A47298151A825A004123FF /* dtoa.h */,
- A8A47299151A825A004123FF /* DynamicAnnotations.cpp */,
- A8A4729A151A825A004123FF /* DynamicAnnotations.h */,
A8A4729E151A825A004123FF /* Encoder.h */,
A8A4729F151A825A004123FF /* ExportMacros.h */,
0F885E0E1845AE9F00F1E3FA /* FastBitVector.cpp */,
A8A473B2151A825B004123FF /* double.h in Headers */,
A8A473A7151A825B004123FF /* DoublyLinkedList.h in Headers */,
A8A473BB151A825B004123FF /* dtoa.h in Headers */,
- A8A473BD151A825B004123FF /* DynamicAnnotations.h in Headers */,
A8A473C0151A825B004123FF /* Encoder.h in Headers */,
A8A473C1151A825B004123FF /* ExportMacros.h in Headers */,
A8A473B4151A825B004123FF /* fast-dtoa.h in Headers */,
A8A473B0151A825B004123FF /* double-conversion.cc in Sources */,
A8A473BA151A825B004123FF /* dtoa.cpp in Sources */,
0F885E0F1845AEA900F1E3FA /* FastBitVector.cpp in Sources */,
- A8A473BC151A825B004123FF /* DynamicAnnotations.cpp in Sources */,
A8A473B3151A825B004123FF /* fast-dtoa.cc in Sources */,
A8A473C3151A825B004123FF /* FastMalloc.cpp in Sources */,
A5BA15FA182435A600A82E69 /* AtomicStringCF.cpp in Sources */,
Deque.h
DisallowCType.h
DoublyLinkedList.h
- DynamicAnnotations.h
Encoder.h
FastMalloc.h
FeatureDefines.h
DataLog.cpp
DateMath.cpp
DecimalNumber.cpp
- DynamicAnnotations.cpp
FastBitVector.cpp
FastMalloc.cpp
FilePrintStream.cpp
+++ /dev/null
-/*
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#include "DynamicAnnotations.h"
-
-#if USE(DYNAMIC_ANNOTATIONS) && !USE(DYNAMIC_ANNOTATIONS_NOIMPL)
-
-// Identical code folding(-Wl,--icf=all) countermeasures.
-// This makes all Annotate* functions different, which prevents the linker from
-// folding them.
-#ifdef __COUNTER__
-#define DYNAMIC_ANNOTATIONS_IMPL \
- volatile short lineno = (__LINE__ << 8) + __COUNTER__; \
- (void)lineno;
-#else
-#define DYNAMIC_ANNOTATIONS_IMPL \
- volatile short lineno = (__LINE__ << 8); \
- (void)lineno;
-#endif
-
-void WTFAnnotateBenignRaceSized(const char*, int, const volatile void*, long, const char*)
-{
- DYNAMIC_ANNOTATIONS_IMPL
-}
-
-void WTFAnnotateHappensBefore(const char*, int, const volatile void*)
-{
- DYNAMIC_ANNOTATIONS_IMPL
-}
-
-void WTFAnnotateHappensAfter(const char*, int, const volatile void*)
-{
- DYNAMIC_ANNOTATIONS_IMPL
-}
-
-#endif // USE(DYNAMIC_ANNOTATIONS) && !USE(DYNAMIC_ANNOTATIONS_NOIMPL)
+++ /dev/null
-/*
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef WTF_DynamicAnnotations_h
-#define WTF_DynamicAnnotations_h
-
-/* This file defines dynamic annotations for use with dynamic analysis
- * tool such as ThreadSanitizer, Valgrind, etc.
- *
- * Dynamic annotation is a source code annotation that affects
- * the generated code (that is, the annotation is not a comment).
- * Each such annotation is attached to a particular
- * instruction and/or to a particular object (address) in the program.
- *
- * By using dynamic annotations a developer can give more details to the dynamic
- * analysis tool to improve its precision.
- *
- * In C/C++ program the annotations are represented as C macros.
- * With the default build flags, these macros are empty, hence don't affect
- * performance of a compiled binary.
- * If dynamic annotations are enabled, they just call no-op functions.
- * The dynamic analysis tools can intercept these functions and replace them
- * with their own implementations.
- *
- * See http://code.google.com/p/data-race-test/wiki/DynamicAnnotations for more information.
- */
-
-#if USE(DYNAMIC_ANNOTATIONS)
-/* Tell data race detector that we're not interested in reports on the given address range. */
-#define WTF_ANNOTATE_BENIGN_RACE_SIZED(address, size, description) WTFAnnotateBenignRaceSized(__FILE__, __LINE__, address, size, description)
-#define WTF_ANNOTATE_BENIGN_RACE(pointer, description) WTFAnnotateBenignRaceSized(__FILE__, __LINE__, pointer, sizeof(*(pointer)), description)
-
-/* Annotations for user-defined synchronization mechanisms.
- * These annotations can be used to define happens-before arcs in user-defined
- * synchronization mechanisms: the race detector will infer an arc from
- * the former to the latter when they share the same argument pointer.
- *
- * The most common case requiring annotations is atomic reference counting:
- * bool deref() {
- * ANNOTATE_HAPPENS_BEFORE(&m_refCount);
- * if (!atomicDecrement(&m_refCount)) {
- * // m_refCount is now 0
- * ANNOTATE_HAPPENS_AFTER(&m_refCount);
- * // "return true; happens-after each atomicDecrement of m_refCount"
- * return true;
- * }
- * return false;
- * }
- */
-#define WTF_ANNOTATE_HAPPENS_BEFORE(address) WTFAnnotateHappensBefore(__FILE__, __LINE__, address)
-#define WTF_ANNOTATE_HAPPENS_AFTER(address) WTFAnnotateHappensAfter(__FILE__, __LINE__, address)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-/* Don't use these directly, use the above macros instead. */
-void WTFAnnotateBenignRaceSized(const char* file, int line, const volatile void* memory, long size, const char* description);
-void WTFAnnotateHappensBefore(const char* file, int line, const volatile void* address);
-void WTFAnnotateHappensAfter(const char* file, int line, const volatile void* address);
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#else // USE(DYNAMIC_ANNOTATIONS)
-/* These macros are empty when dynamic annotations are not enabled so you can
- * use them without affecting the performance of release binaries. */
-#define WTF_ANNOTATE_BENIGN_RACE_SIZED(address, size, description)
-#define WTF_ANNOTATE_BENIGN_RACE(pointer, description)
-#define WTF_ANNOTATE_HAPPENS_BEFORE(address)
-#define WTF_ANNOTATE_HAPPENS_AFTER(address)
-#endif // USE(DYNAMIC_ANNOTATIONS)
-
-#endif // WTF_DynamicAnnotations_h
#define ThreadSafeRefCounted_h
#include <atomic>
-#include <wtf/DynamicAnnotations.h>
#include <wtf/FastMalloc.h>
#include <wtf/Noncopyable.h>
// Returns whether the pointer should be freed or not.
bool derefBase()
{
- WTF_ANNOTATE_HAPPENS_BEFORE(&m_refCount);
if (--m_refCount <= 0) {
- WTF_ANNOTATE_HAPPENS_AFTER(&m_refCount);
return true;
}
#endif
#include "AtomicString.h"
-#include "DynamicAnnotations.h"
#include "MainThread.h"
#include "NeverDestroyed.h"
#include "StaticConstructors.h"
StringImpl* StringImpl::empty()
{
static NeverDestroyed<StringImpl> emptyString(ConstructEmptyString);
- WTF_ANNOTATE_BENIGN_RACE(&emptyString, "Benign race on StringImpl::emptyString reference counter");
return &emptyString.get();
}