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

Side by Side Diff: Source/wtf/CPU.h

Issue 14810003: Move CPU() macro to it's own header from wtf/Platform.h (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 7 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights reserved.
3 * Copyright (C) 2007-2009 Torch Mobile, Inc. 3 * Copyright (C) 2007-2009 Torch Mobile, Inc.
4 * Copyright (C) 2010, 2011 Research In Motion Limited. All rights reserved. 4 * Copyright (C) 2010, 2011 Research In Motion Limited. All rights reserved.
5 * Copyright (C) 2013, Samsung Electronics. All rights reserved.
5 * 6 *
6 * Redistribution and use in source and binary forms, with or without 7 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 8 * modification, are permitted provided that the following conditions
8 * are met: 9 * are met:
9 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 11 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright 12 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the 13 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution. 14 * documentation and/or other materials provided with the distribution.
14 * 15 *
15 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 16 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
16 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 19 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
19 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 20 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 22 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 23 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
23 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 27 */
27 28
28 #ifndef WTF_Platform_h 29 #ifndef WTF_CPU_h
29 #define WTF_Platform_h 30 #define WTF_CPU_h
30 31
31 /* Include compiler specific macros */
32 #include <wtf/Compiler.h> 32 #include <wtf/Compiler.h>
33 33
34 /* ==== Platform adaptation macros: these describe properties of the target envi ronment. ==== */
35
36 /* CPU() - the target CPU architecture */ 34 /* CPU() - the target CPU architecture */
37 #define CPU(WTF_FEATURE) (defined WTF_CPU_##WTF_FEATURE && WTF_CPU_##WTF_FEATUR E) 35 #define CPU(WTF_FEATURE) (defined WTF_CPU_##WTF_FEATURE && WTF_CPU_##WTF_FEATUR E)
38 /* HAVE() - specific system features (headers, functions or similar) that are pr esent or not */
39 #define HAVE(WTF_FEATURE) (defined HAVE_##WTF_FEATURE && HAVE_##WTF_FEATURE)
40 /* OS() - underlying operating system; only to be used for mandated low-level se rvices like
41 virtual memory, not to choose a GUI toolkit */
42 #define OS(WTF_FEATURE) (defined WTF_OS_##WTF_FEATURE && WTF_OS_##WTF_FEATURE)
43
44
45 /* ==== Policy decision macros: these define policy choices for a particular por t. ==== */
46
47 /* USE() - use a particular third-party library or optional OS service */
48 #define USE(WTF_FEATURE) (defined WTF_USE_##WTF_FEATURE && WTF_USE_##WTF_FEATUR E)
49 /* ENABLE() - turn on a specific feature of WebKit */
50 #define ENABLE(WTF_FEATURE) (defined ENABLE_##WTF_FEATURE && ENABLE_##WTF_FEATU RE)
51
52 36
53 /* ==== CPU() - the target CPU architecture ==== */ 37 /* ==== CPU() - the target CPU architecture ==== */
54 38
55 /* This also defines CPU(BIG_ENDIAN) or CPU(MIDDLE_ENDIAN) or neither, as approp riate. */ 39 /* This also defines CPU(BIG_ENDIAN) or CPU(MIDDLE_ENDIAN) or neither, as approp riate. */
56 40
57 /* CPU(ALPHA) - DEC Alpha */ 41 /* CPU(ALPHA) - DEC Alpha */
58 #if defined(__alpha__) 42 #if defined(__alpha__)
59 #define WTF_CPU_ALPHA 1 43 #define WTF_CPU_ALPHA 1
60 #endif 44 #endif
61 45
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 // All NEON intrinsics usage can be disabled by this macro. 244 // All NEON intrinsics usage can be disabled by this macro.
261 #define HAVE_ARM_NEON_INTRINSICS 1 245 #define HAVE_ARM_NEON_INTRINSICS 1
262 #endif 246 #endif
263 247
264 #if defined(__ARM_ARCH_7S__) 248 #if defined(__ARM_ARCH_7S__)
265 #define WTF_CPU_APPLE_ARMV7S 1 249 #define WTF_CPU_APPLE_ARMV7S 1
266 #endif 250 #endif
267 251
268 #endif /* ARM */ 252 #endif /* ARM */
269 253
270 /* ==== OS() - underlying operating system; only to be used for mandated low-lev el services like 254 #endif /* WTF_CPU_h */
271 virtual memory, not to choose a GUI toolkit ==== */
272
273 /* OS(ANDROID) - Android */
274 #ifdef ANDROID
275 #define WTF_OS_ANDROID 1
276 #endif
277
278 /* OS(AIX) - AIX */
279 #ifdef _AIX
280 #define WTF_OS_AIX 1
281 #endif
282
283 /* OS(DARWIN) - Any Darwin-based OS, including Mac OS X and iPhone OS */
284 #ifdef __APPLE__
285 #define WTF_OS_DARWIN 1
286
287 #include <Availability.h>
288 #include <AvailabilityMacros.h>
289 #include <TargetConditionals.h>
290 #endif
291
292 /* OS(FREEBSD) - FreeBSD */
293 #if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__ )
294 #define WTF_OS_FREEBSD 1
295 #endif
296
297 /* OS(HURD) - GNU/Hurd */
298 #ifdef __GNU__
299 #define WTF_OS_HURD 1
300 #endif
301
302 /* OS(LINUX) - Linux */
303 #ifdef __linux__
304 #define WTF_OS_LINUX 1
305 #endif
306
307 /* OS(NETBSD) - NetBSD */
308 #if defined(__NetBSD__)
309 #define WTF_OS_NETBSD 1
310 #endif
311
312 /* OS(OPENBSD) - OpenBSD */
313 #ifdef __OpenBSD__
314 #define WTF_OS_OPENBSD 1
315 #endif
316
317 /* OS(SOLARIS) - Solaris */
318 #if defined(sun) || defined(__sun)
319 #define WTF_OS_SOLARIS 1
320 #endif
321
322 /* OS(WINDOWS) - Any version of Windows */
323 #if defined(WIN32) || defined(_WIN32)
324 #define WTF_OS_WINDOWS 1
325 #endif
326
327 /* OS(UNIX) - Any Unix-like system */
328 #if OS(AIX) \
329 || OS(ANDROID) \
330 || OS(DARWIN) \
331 || OS(FREEBSD) \
332 || OS(HURD) \
333 || OS(LINUX) \
334 || OS(NETBSD) \
335 || OS(OPENBSD) \
336 || OS(SOLARIS) \
337 || defined(unix) \
338 || defined(__unix) \
339 || defined(__unix__)
340 #define WTF_OS_UNIX 1
341 #endif
342
343 /* Operating environments */
344
345 #if OS(ANDROID)
346 #define WTF_USE_LOW_QUALITY_IMAGE_INTERPOLATION 1
347 #define WTF_USE_LOW_QUALITY_IMAGE_NO_JPEG_DITHERING 1
348 #define WTF_USE_LOW_QUALITY_IMAGE_NO_JPEG_FANCY_UPSAMPLING 1
349 #else
350 #define WTF_USE_ICCJPEG 1
351 #define WTF_USE_QCMSLIB 1
352 #endif
353
354 #if OS(DARWIN)
355 #define WTF_USE_CF 1
356
357 /* We can't override the global operator new and delete on OS(DARWIN) because
358 * some object are allocated by WebKit and deallocated by the embedder. */
359 #else /* !OS(DARWIN) */
360 /* On non-OS(DARWIN), the "system malloc" is actually TCMalloc anyway, so there' s
361 * no need to use WebKit's copy of TCMalloc. */
362 #define WTF_USE_SYSTEM_MALLOC 1
363 #endif /* OS(DARWIN) */
364
365 #if OS(DARWIN)
366 #define ENABLE_PURGEABLE_MEMORY 1
367 #endif /* OS(DARWIN) */
368
369 #if !defined(HAVE_ACCESSIBILITY)
370 #if !OS(ANDROID)
371 #define HAVE_ACCESSIBILITY 1
372 #endif
373 #endif /* !defined(HAVE_ACCESSIBILITY) */
374
375 #if OS(UNIX)
376 #define HAVE_ERRNO_H 1
377 #define HAVE_MMAP 1
378 #define HAVE_SIGNAL_H 1
379 #define HAVE_STRINGS_H 1
380 #define HAVE_SYS_TIME_H 1
381 #define WTF_USE_PTHREADS 1
382 #endif /* OS(UNIX) */
383
384 #if (OS(FREEBSD) || OS(OPENBSD)) && !defined(__GLIBC__)
385 #define HAVE_PTHREAD_NP_H 1
386 #endif
387
388 #if !defined(HAVE_VASPRINTF)
389 #if !COMPILER(MSVC) && !COMPILER(MINGW)
390 #define HAVE_VASPRINTF 1
391 #endif
392 #endif
393
394 #if !defined(HAVE_STRNSTR)
395 #if OS(DARWIN) || (OS(FREEBSD) && !defined(__GLIBC__))
396 #define HAVE_STRNSTR 1
397 #endif
398 #endif
399
400 #if !OS(WINDOWS) && !OS(SOLARIS) && !OS(ANDROID)
401 #define HAVE_TM_GMTOFF 1
402 #define HAVE_TM_ZONE 1
403 #define HAVE_TIMEGM 1
404 #endif
405
406 #if OS(DARWIN)
407 #define HAVE_SYS_TIMEB_H 1
408 #define HAVE_DISPATCH_H 1
409 #define HAVE_MADV_FREE 1
410 #define HAVE_PTHREAD_SETNAME_NP 1
411 #define HAVE_MADV_FREE_REUSE 1
412 #endif /* OS(DARWIN) */
413
414 #if OS(WINDOWS)
415 #define HAVE_SYS_TIMEB_H 1
416 #define HAVE_ALIGNED_MALLOC 1
417 #define HAVE_ISDEBUGGERPRESENT 1
418 #define HAVE_VIRTUALALLOC 1
419 #endif
420
421 #if !defined(ENABLE_THREADING_LIBDISPATCH) && HAVE(DISPATCH_H)
422 #define ENABLE_THREADING_LIBDISPATCH 1
423 #elif !defined(ENABLE_THREADING_OPENMP) && defined(_OPENMP)
424 #define ENABLE_THREADING_OPENMP 1
425 #elif !defined(THREADING_GENERIC)
426 #define ENABLE_THREADING_GENERIC 1
427 #endif
428
429 #endif /* WTF_Platform_h */
OLDNEW
« no previous file with comments | « Source/wtf/Atomics.h ('k') | Source/wtf/FastMalloc.cpp » ('j') | Source/wtf/FastMalloc.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698