blob: 3e08313d1a5fa5c3639372d5e9ac4b3f6ce376aa [file] [log] [blame]
//===-- tsan_stat.h ---------------------------------------------*- C++ -*-===//
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file is a part of ThreadSanitizer (TSan), a race detector.
//
//===----------------------------------------------------------------------===//
#ifndef TSAN_STAT_H
#define TSAN_STAT_H
namespace __tsan {
enum StatType {
// Memory access processing related stuff.
StatMop,
StatMopRead,
StatMopWrite,
StatMop1, // These must be consequtive.
StatMop2,
StatMop4,
StatMop8,
StatMopSame,
StatMopRange,
StatMopRodata,
StatMopRangeRodata,
StatShadowProcessed,
StatShadowZero,
StatShadowNonZero, // Derived.
StatShadowSameSize,
StatShadowIntersect,
StatShadowNotIntersect,
StatShadowSameThread,
StatShadowAnotherThread,
StatShadowReplace,
// Func processing.
StatFuncEnter,
StatFuncExit,
// Trace processing.
StatEvents,
// Threads.
StatThreadCreate,
StatThreadFinish,
StatThreadReuse,
StatThreadMaxTid,
StatThreadMaxAlive,
// Mutexes.
StatMutexCreate,
StatMutexDestroy,
StatMutexLock,
StatMutexUnlock,
StatMutexRecLock,
StatMutexRecUnlock,
StatMutexReadLock,
StatMutexReadUnlock,
// Synchronization.
StatSyncCreated,
StatSyncDestroyed,
StatSyncAcquire,
StatSyncRelease,
// Atomics.
StatAtomic,
StatAtomicLoad,
StatAtomicStore,
StatAtomicExchange,
StatAtomicFetchAdd,
StatAtomicFetchSub,
StatAtomicFetchAnd,
StatAtomicFetchOr,
StatAtomicFetchXor,
StatAtomicFetchNand,
StatAtomicCAS,
StatAtomicFence,
StatAtomicRelaxed,
StatAtomicConsume,
StatAtomicAcquire,
StatAtomicRelease,
StatAtomicAcq_Rel,
StatAtomicSeq_Cst,
StatAtomic1,
StatAtomic2,
StatAtomic4,
StatAtomic8,
StatAtomic16,
// Interceptors.
StatInterceptor,
StatInt_longjmp,
StatInt_siglongjmp,
StatInt_malloc,
StatInt___libc_memalign,
StatInt_calloc,
StatInt_realloc,
StatInt_free,
StatInt_cfree,
StatInt_malloc_usable_size,
StatInt_mmap,
StatInt_mmap64,
StatInt_munmap,
StatInt_memalign,
StatInt_valloc,
StatInt_pvalloc,
StatInt_posix_memalign,
StatInt__Znwm,
StatInt__ZnwmRKSt9nothrow_t,
StatInt__Znam,
StatInt__ZnamRKSt9nothrow_t,
StatInt__ZdlPv,
StatInt__ZdlPvRKSt9nothrow_t,
StatInt__ZdaPv,
StatInt__ZdaPvRKSt9nothrow_t,
StatInt_strlen,
StatInt_memset,
StatInt_memcpy,
StatInt_textdomain,
StatInt_strcmp,
StatInt_memchr,
StatInt_memrchr,
StatInt_memmove,
StatInt_memcmp,
StatInt_strchr,
StatInt_strchrnul,
StatInt_strrchr,
StatInt_strncmp,
StatInt_strcpy,
StatInt_strncpy,
StatInt_strcasecmp,
StatInt_strncasecmp,
StatInt_strstr,
StatInt_strdup,
StatInt_atexit,
StatInt__exit,
StatInt___cxa_guard_acquire,
StatInt___cxa_guard_release,
StatInt___cxa_guard_abort,
StatInt_pthread_create,
StatInt_pthread_join,
StatInt_pthread_detach,
StatInt_pthread_mutex_init,
StatInt_pthread_mutex_destroy,
StatInt_pthread_mutex_lock,
StatInt_pthread_mutex_trylock,
StatInt_pthread_mutex_timedlock,
StatInt_pthread_mutex_unlock,
StatInt_pthread_spin_init,
StatInt_pthread_spin_destroy,
StatInt_pthread_spin_lock,
StatInt_pthread_spin_trylock,
StatInt_pthread_spin_unlock,
StatInt_pthread_rwlock_init,
StatInt_pthread_rwlock_destroy,
StatInt_pthread_rwlock_rdlock,
StatInt_pthread_rwlock_tryrdlock,
StatInt_pthread_rwlock_timedrdlock,
StatInt_pthread_rwlock_wrlock,
StatInt_pthread_rwlock_trywrlock,
StatInt_pthread_rwlock_timedwrlock,
StatInt_pthread_rwlock_unlock,
StatInt_pthread_cond_init,
StatInt_pthread_cond_destroy,
StatInt_pthread_cond_signal,
StatInt_pthread_cond_broadcast,
StatInt_pthread_cond_wait,
StatInt_pthread_cond_timedwait,
StatInt_pthread_barrier_init,
StatInt_pthread_barrier_destroy,
StatInt_pthread_barrier_wait,
StatInt_pthread_once,
StatInt_pthread_getschedparam,
StatInt_pthread_setname_np,
StatInt_sem_init,
StatInt_sem_destroy,
StatInt_sem_wait,
StatInt_sem_trywait,
StatInt_sem_timedwait,
StatInt_sem_post,
StatInt_sem_getvalue,
StatInt_stat,
StatInt___xstat,
StatInt_stat64,
StatInt___xstat64,
StatInt_lstat,
StatInt___lxstat,
StatInt_lstat64,
StatInt___lxstat64,
StatInt_fstat,
StatInt___fxstat,
StatInt_fstat64,
StatInt___fxstat64,
StatInt_open,
StatInt_open64,
StatInt_creat,
StatInt_creat64,
StatInt_dup,
StatInt_dup2,
StatInt_dup3,
StatInt_eventfd,
StatInt_signalfd,
StatInt_inotify_init,
StatInt_inotify_init1,
StatInt_socket,
StatInt_socketpair,
StatInt_connect,
StatInt_bind,
StatInt_listen,
StatInt_accept,
StatInt_accept4,
StatInt_epoll_create,
StatInt_epoll_create1,
StatInt_close,
StatInt___close,
StatInt___res_iclose,
StatInt_pipe,
StatInt_pipe2,
StatInt_read,
StatInt_prctl,
StatInt_pread,
StatInt_pread64,
StatInt_readv,
StatInt_preadv,
StatInt_preadv64,
StatInt_write,
StatInt_pwrite,
StatInt_pwrite64,
StatInt_writev,
StatInt_pwritev,
StatInt_pwritev64,
StatInt_send,
StatInt_sendmsg,
StatInt_recv,
StatInt_recvmsg,
StatInt_unlink,
StatInt_fopen,
StatInt_freopen,
StatInt_fclose,
StatInt_fread,
StatInt_fwrite,
StatInt_fflush,
StatInt_abort,
StatInt_puts,
StatInt_rmdir,
StatInt_opendir,
StatInt_epoll_ctl,
StatInt_epoll_wait,
StatInt_poll,
StatInt_ppoll,
StatInt_sigaction,
StatInt_signal,
StatInt_sigsuspend,
StatInt_raise,
StatInt_kill,
StatInt_pthread_kill,
StatInt_sleep,
StatInt_usleep,
StatInt_nanosleep,
StatInt_gettimeofday,
StatInt_fork,
StatInt_vscanf,
StatInt_vsscanf,
StatInt_vfscanf,
StatInt_scanf,
StatInt_sscanf,
StatInt_fscanf,
StatInt___isoc99_vscanf,
StatInt___isoc99_vsscanf,
StatInt___isoc99_vfscanf,
StatInt___isoc99_scanf,
StatInt___isoc99_sscanf,
StatInt___isoc99_fscanf,
StatInt_on_exit,
StatInt___cxa_atexit,
StatInt_localtime,
StatInt_localtime_r,
StatInt_gmtime,
StatInt_gmtime_r,
StatInt_ctime,
StatInt_ctime_r,
StatInt_asctime,
StatInt_asctime_r,
StatInt_strptime,
StatInt_frexp,
StatInt_frexpf,
StatInt_frexpl,
StatInt_getpwnam,
StatInt_getpwuid,
StatInt_getgrnam,
StatInt_getgrgid,
StatInt_getpwnam_r,
StatInt_getpwuid_r,
StatInt_getgrnam_r,
StatInt_getgrgid_r,
StatInt_clock_getres,
StatInt_clock_gettime,
StatInt_clock_settime,
StatInt_getitimer,
StatInt_setitimer,
StatInt_time,
StatInt_glob,
StatInt_glob64,
StatInt_wait,
StatInt_waitid,
StatInt_waitpid,
StatInt_wait3,
StatInt_wait4,
StatInt_inet_ntop,
StatInt_inet_pton,
StatInt_inet_aton,
StatInt_getaddrinfo,
StatInt_getnameinfo,
StatInt_getsockname,
StatInt_gethostent,
StatInt_gethostbyname,
StatInt_gethostbyname2,
StatInt_gethostbyaddr,
StatInt_gethostent_r,
StatInt_gethostbyname_r,
StatInt_gethostbyname2_r,
StatInt_gethostbyaddr_r,
StatInt_getsockopt,
StatInt_modf,
StatInt_modff,
StatInt_modfl,
StatInt_getpeername,
StatInt_ioctl,
StatInt_sysinfo,
StatInt_readdir,
StatInt_readdir64,
StatInt_readdir_r,
StatInt_readdir64_r,
StatInt_ptrace,
StatInt_setlocale,
StatInt_getcwd,
StatInt_get_current_dir_name,
StatInt_strtoimax,
StatInt_strtoumax,
StatInt_mbstowcs,
StatInt_mbsrtowcs,
StatInt_mbsnrtowcs,
StatInt_wcstombs,
StatInt_wcsrtombs,
StatInt_wcsnrtombs,
StatInt_tcgetattr,
StatInt_realpath,
StatInt_canonicalize_file_name,
StatInt_confstr,
StatInt_sched_getaffinity,
StatInt_strerror,
StatInt_strerror_r,
StatInt___xpg_strerror_r,
StatInt_scandir,
StatInt_scandir64,
StatInt_getgroups,
StatInt_wordexp,
StatInt_sigwait,
StatInt_sigwaitinfo,
StatInt_sigtimedwait,
StatInt_sigemptyset,
StatInt_sigfillset,
StatInt_sigpending,
StatInt_sigprocmask,
StatInt_backtrace,
StatInt_backtrace_symbols,
StatInt_dlopen,
StatInt_dlclose,
StatInt_getmntent,
StatInt_getmntent_r,
StatInt_statfs,
StatInt_statfs64,
StatInt_fstatfs,
StatInt_fstatfs64,
StatInt_statvfs,
StatInt_statvfs64,
StatInt_fstatvfs,
StatInt_fstatvfs64,
StatInt_initgroups,
StatInt_ether_ntoa,
StatInt_ether_aton,
StatInt_ether_ntoa_r,
StatInt_ether_aton_r,
StatInt_ether_ntohost,
StatInt_ether_hostton,
StatInt_ether_line,
StatInt_shmctl,
StatInt_random_r,
StatInt_tmpnam,
StatInt_tmpnam_r,
StatInt_tempnam,
StatInt_sincos,
StatInt_sincosf,
StatInt_sincosl,
StatInt_remquo,
StatInt_remquof,
StatInt_remquol,
StatInt_lgamma,
StatInt_lgammaf,
StatInt_lgammal,
StatInt_lgamma_r,
StatInt_lgammaf_r,
StatInt_lgammal_r,
StatInt_drand48_r,
StatInt_lrand48_r,
StatInt_getline,
StatInt_getdelim,
StatInt_iconv,
StatInt_times,
StatInt_pthread_attr_getdetachstate,
StatInt_pthread_attr_getguardsize,
StatInt_pthread_attr_getschedparam,
StatInt_pthread_attr_getschedpolicy,
StatInt_pthread_attr_getinheritsched,
StatInt_pthread_attr_getscope,
StatInt_pthread_attr_getstacksize,
StatInt_pthread_attr_getstack,
StatInt_pthread_attr_getaffinity_np,
// Dynamic annotations.
StatAnnotation,
StatAnnotateHappensBefore,
StatAnnotateHappensAfter,
StatAnnotateCondVarSignal,
StatAnnotateCondVarSignalAll,
StatAnnotateMutexIsNotPHB,
StatAnnotateCondVarWait,
StatAnnotateRWLockCreate,
StatAnnotateRWLockCreateStatic,
StatAnnotateRWLockDestroy,
StatAnnotateRWLockAcquired,
StatAnnotateRWLockReleased,
StatAnnotateTraceMemory,
StatAnnotateFlushState,
StatAnnotateNewMemory,
StatAnnotateNoOp,
StatAnnotateFlushExpectedRaces,
StatAnnotateEnableRaceDetection,
StatAnnotateMutexIsUsedAsCondVar,
StatAnnotatePCQGet,
StatAnnotatePCQPut,
StatAnnotatePCQDestroy,
StatAnnotatePCQCreate,
StatAnnotateExpectRace,
StatAnnotateBenignRaceSized,
StatAnnotateBenignRace,
StatAnnotateIgnoreReadsBegin,
StatAnnotateIgnoreReadsEnd,
StatAnnotateIgnoreWritesBegin,
StatAnnotateIgnoreWritesEnd,
StatAnnotateIgnoreSyncBegin,
StatAnnotateIgnoreSyncEnd,
StatAnnotatePublishMemoryRange,
StatAnnotateUnpublishMemoryRange,
StatAnnotateThreadName,
// Internal mutex contentionz.
StatMtxTotal,
StatMtxTrace,
StatMtxThreads,
StatMtxReport,
StatMtxSyncVar,
StatMtxSyncTab,
StatMtxSlab,
StatMtxAnnotations,
StatMtxAtExit,
StatMtxMBlock,
StatMtxJavaMBlock,
StatMtxFD,
// This must be the last.
StatCnt
};
} // namespace __tsan
#endif // TSAN_STAT_H