Record the HashSet/HashMap operations in DFG/FTL/B3 and replay them in a benchmark
[WebKit-https.git] / Source / WTF / wtf / CMakeLists.txt
1 set(WTF_HEADERS
2     ASCIICType.h
3     Assertions.h
4     Atomics.h
5     AutomaticThread.h
6     BackwardsGraph.h
7     Bag.h
8     BagToHashMap.h
9     BitVector.h
10     Bitmap.h
11     Brigand.h
12     BubbleSort.h
13     BumpPointerAllocator.h
14     ByteOrder.h
15     ClockType.h
16     CompilationThread.h
17     Compiler.h
18     Condition.h
19     CrossThreadCopier.h
20     CrossThreadTask.h
21     CryptographicUtilities.h
22     CryptographicallyRandomNumber.h
23     CurrentTime.h
24     DataLog.h
25     DateMath.h
26     Dominators.h
27     DecimalNumber.h
28     DeferrableRefCounted.h
29     Deque.h
30     DisallowCType.h
31     DoublyLinkedList.h
32     FastMalloc.h
33     FastTLS.h
34     FeatureDefines.h
35     FilePrintStream.h
36     FlipBytes.h
37     Forward.h
38     FunctionDispatcher.h
39     GetPtr.h
40     GlobalVersion.h
41     GraphNodeWorklist.h
42     GregorianDateTime.h
43     HashCountedSet.h
44     Hasher.h
45     HashFunctions.h
46     HashIterators.h
47     HashMap.h
48     HashMethod.h
49     HashSet.h
50     HashTable.h
51     HashTraits.h
52     HexNumber.h
53     IndexMap.h
54     IndexSet.h
55     IndexSparseSet.h
56     IndexedContainerIterator.h
57     IteratorAdaptors.h
58     IteratorRange.h
59     ListHashSet.h
60     Lock.h
61     LockAlgorithm.h
62     LockedPrintStream.h
63     Locker.h
64     LoggingHashID.h
65     LoggingHashMap.h
66     LoggingHashSet.h
67     LoggingHashTraits.h
68     MD5.h
69     MainThread.h
70     MallocPtr.h
71     MathExtras.h
72     MediaTime.h
73     MemoryFootprint.h
74     MemoryPressureHandler.h
75     MessageQueue.h
76     MetaAllocator.h
77     MetaAllocatorHandle.h
78     MonotonicTime.h
79     Noncopyable.h
80     NumberOfCores.h
81     OSAllocator.h
82     OSRandomSource.h
83     OptionSet.h
84     OrderMaker.h
85     PageAllocation.h
86     PageBlock.h
87     PageReservation.h
88     ParallelHelperPool.h
89     ParallelJobs.h
90     ParallelJobsGeneric.h
91     ParallelJobsLibdispatch.h
92     ParallelJobsOpenMP.h
93     ParallelVectorIterator.h
94     ParkingLot.h
95     PassRefPtr.h
96     Platform.h
97     PrintStream.h
98     ProcessID.h
99     RAMSize.h
100     RandomNumber.h
101     RandomNumberSeed.h
102     RangeSet.h
103     RawPointer.h
104     RecursiveLockAdapter.h
105     RedBlackTree.h
106     Ref.h
107     RefCounted.h
108     RefCountedLeakCounter.h
109     RefCounter.h
110     RefPtr.h
111     RetainPtr.h
112     RunLoop.h
113     SHA1.h
114     SharedTask.h
115     SaturatedArithmetic.h
116     ScopedLambda.h
117     Seconds.h
118     SegmentedVector.h
119     SmallPtrSet.h
120     StackBounds.h
121     StackStats.h
122     StaticConstructors.h
123     StdLibExtras.h
124     Stopwatch.h
125     StringExtras.h
126     StringPrintStream.h
127     SystemTracing.h
128     ThreadIdentifierDataPthreads.h
129     ThreadSafeRefCounted.h
130     ThreadSpecific.h
131     Threading.h
132     ThreadingPrimitives.h
133     TimeWithDynamicClockType.h
134     TinyPtrSet.h
135     UniqueRef.h
136     VMTags.h
137     ValueCheck.h
138     Variant.h
139     Vector.h
140     VectorTraits.h
141     WTFThreadData.h
142     WallTime.h
143     WeakPtr.h
144     WordLock.h
145     WorkQueue.h
146     dtoa.h
147
148     dtoa/bignum-dtoa.h
149     dtoa/bignum.h
150     dtoa/cached-powers.h
151     dtoa/diy-fp.h
152     dtoa/double-conversion.h
153     dtoa/double.h
154     dtoa/fast-dtoa.h
155     dtoa/fixed-dtoa.h
156     dtoa/strtod.h
157     dtoa/utils.h
158
159     text/AtomicString.h
160     text/AtomicStringImpl.h
161     text/AtomicStringTable.h
162     text/Base64.h
163     text/CString.h
164     text/IntegerToStringConversion.h
165     text/LChar.h
166     text/LineBreakIteratorPoolICU.h
167     text/StringBuffer.h
168     text/StringCommon.h
169     text/StringHash.h
170     text/StringImpl.h
171     text/StringView.h
172     text/SymbolImpl.h
173     text/SymbolRegistry.h
174     text/TextBreakIterator.h
175     text/TextBreakIteratorInternalICU.h
176     text/UniquedStringImpl.h
177     text/WTFString.h
178
179     text/icu/UTextProvider.h
180     text/icu/UTextProviderLatin1.h
181     text/icu/UTextProviderUTF16.h
182
183     threads/BinarySemaphore.h
184
185     unicode/CharacterNames.h
186     unicode/Collator.h
187     unicode/UTF8.h
188 )
189
190 set(WTF_SOURCES
191     Assertions.cpp
192     Atomics.cpp
193     AutomaticThread.cpp
194     BitVector.cpp
195     ClockType.cpp
196     CompilationThread.cpp
197     CrossThreadCopier.cpp
198     CryptographicUtilities.cpp
199     CryptographicallyRandomNumber.cpp
200     CurrentTime.cpp
201     DataLog.cpp
202     DateMath.cpp
203     DecimalNumber.cpp
204     FastBitVector.cpp
205     FastMalloc.cpp
206     FilePrintStream.cpp
207     FunctionDispatcher.cpp
208     GlobalVersion.cpp
209     GregorianDateTime.cpp
210     HashTable.cpp
211     Lock.cpp
212     LockedPrintStream.cpp
213     MD5.cpp
214     MainThread.cpp
215     MediaTime.cpp
216     MemoryFootprint.cpp
217     MemoryPressureHandler.cpp
218     MetaAllocator.cpp
219     MonotonicTime.cpp
220     NumberOfCores.cpp
221     OSRandomSource.cpp
222     PageBlock.cpp
223     ParallelHelperPool.cpp
224     ParallelJobsGeneric.cpp
225     ParkingLot.cpp
226     PrintStream.cpp
227     RAMSize.cpp
228     RandomNumber.cpp
229     RefCountedLeakCounter.cpp
230     RunLoop.cpp
231     SHA1.cpp
232     Seconds.cpp
233     SixCharacterHash.cpp
234     StackBounds.cpp
235     StackStats.cpp
236     StringPrintStream.cpp
237     Threading.cpp
238     TimeWithDynamicClockType.cpp
239     WTFThreadData.cpp
240     WallTime.cpp
241     WordLock.cpp
242     WorkQueue.cpp
243     dtoa.cpp
244
245     dtoa/bignum-dtoa.cc
246     dtoa/bignum.cc
247     dtoa/cached-powers.cc
248     dtoa/diy-fp.cc
249     dtoa/double-conversion.cc
250     dtoa/fast-dtoa.cc
251     dtoa/fixed-dtoa.cc
252     dtoa/strtod.cc
253
254     persistence/Coders.cpp
255     persistence/Decoder.cpp
256     persistence/Encoder.cpp
257
258     text/AtomicString.cpp
259     text/AtomicStringImpl.cpp
260     text/AtomicStringTable.cpp
261     text/Base64.cpp
262     text/CString.cpp
263     text/StringBuilder.cpp
264     text/StringImpl.cpp
265     text/StringStatics.cpp
266     text/StringView.cpp
267     text/SymbolImpl.cpp
268     text/SymbolRegistry.cpp
269     text/TextBreakIterator.cpp
270     text/WTFString.cpp
271
272     text/icu/UTextProvider.cpp
273     text/icu/UTextProviderLatin1.cpp
274     text/icu/UTextProviderUTF16.cpp
275
276     threads/BinarySemaphore.cpp
277
278     unicode/UTF8.cpp
279 )
280
281 set(WTF_INCLUDE_DIRECTORIES
282     "${BMALLOC_DIR}"
283     "${WTF_DIR}"
284     "${WTF_DIR}/wtf"
285     "${WTF_DIR}/wtf/dtoa"
286     "${WTF_DIR}/wtf/persistence"
287     "${WTF_DIR}/wtf/text"
288     "${WTF_DIR}/wtf/text/icu"
289     "${WTF_DIR}/wtf/threads"
290     "${WTF_DIR}/wtf/unicode"
291     "${THIRDPARTY_DIR}"
292     "${CMAKE_BINARY_DIR}"
293     "${DERIVED_SOURCES_DIR}"
294 )
295
296 set(WTF_LIBRARIES
297     ${CMAKE_DL_LIBS}
298 )
299
300 if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
301     list(APPEND WTF_HEADERS
302         spi/darwin/CommonCryptoSPI.h
303     )
304     list(APPEND WTF_INCLUDE_DIRECTORIES
305         "${WTF_DIR}/wtf/spi/darwin"
306     )
307 endif ()
308
309 if (NOT USE_SYSTEM_MALLOC)
310     list(APPEND WTF_LIBRARIES bmalloc)
311 endif ()
312
313 list(APPEND WTF_SOURCES
314     unicode/icu/CollatorICU.cpp
315 )
316 set(WTF_SYSTEM_INCLUDE_DIRECTORIES
317     ${ICU_INCLUDE_DIRS}
318 )
319 list(APPEND WTF_LIBRARIES
320     ${ICU_DATA_LIBRARIES}
321     ${ICU_I18N_LIBRARIES}
322     ${ICU_LIBRARIES}
323 )
324
325 if (WIN32)
326     list(APPEND WTF_SOURCES
327         OSAllocatorWin.cpp
328         ThreadSpecificWin.cpp
329         ThreadingWin.cpp
330     )
331 else ()
332     list(APPEND WTF_HEADERS
333         ThreadIdentifierDataPthreads.h
334     )
335     list(APPEND WTF_SOURCES
336         OSAllocatorPosix.cpp
337         ThreadIdentifierDataPthreads.cpp
338         ThreadingPthreads.cpp
339     )
340 endif ()
341
342 WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
343
344 WEBKIT_WRAP_SOURCELIST(${WTF_SOURCES})
345 WEBKIT_FRAMEWORK(WTF)
346
347 if (MSVC)
348     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
349     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
350
351     add_custom_command(
352         TARGET WTF
353         PRE_BUILD
354         COMMAND ${PERL_EXECUTABLE} ${WEBKIT_LIBRARIES_DIR}/tools/scripts/auto-version.pl ${DERIVED_SOURCES_DIR}
355         VERBATIM)
356
357     add_custom_command(
358         TARGET WTF
359         POST_BUILD
360         COMMAND ${PERL_EXECUTABLE} ${WEBKIT_LIBRARIES_DIR}/tools/scripts/version-stamp.pl ${DERIVED_SOURCES_DIR} $<TARGET_FILE:WTF>
361         VERBATIM)
362 endif ()