1 static const char *kEventNames[] = { 2 "NOOP", // Should not appear. 3 "READ", // {tid, pc, addr, size} 4 "WRITE", // {tid, pc, addr, size} 5 "READER_LOCK", // {tid, pc, lock, 0} 6 "WRITER_LOCK", // {tid, pc, lock, 0} 7 "UNLOCK", // {tid, pc, lock, 0} 8 "UNLOCK_OR_INIT", // {tid, pc, lock, 0} 9 "LOCK_CREATE", // {tid, pc, lock, 0} 10 "LOCK_DESTROY", // {tid, pc, lock, 0} 11 "THR_CREATE_BEFORE", // Parent thread's event. {tid, pc, 0, 0} 12 "THR_CREATE_AFTER", // Parent thread's event. {tid, 0, 0, child_tid} 13 "THR_START", // Child thread's event {tid, CallStack, 0, parent_tid} 14 "THR_FIRST_INSN", // Used only by valgrind. 15 "THR_END", // {tid, 0, 0, 0} 16 "THR_JOIN_AFTER", // {tid, pc, joined_tid} 17 "THR_STACK_TOP", // {tid, pc, stack_top, stack_size_if_known} 18 "RTN_EXIT", // {tid, 0, 0, 0} 19 "RTN_CALL", // {tid, pc, 0, 0} 20 "SBLOCK_ENTER", // {tid, pc, 0, 0} 21 "SIGNAL", // {tid, pc, obj, 0} 22 "WAIT", // {tid, pc, obj, 0} 23 "CYCLIC_BARRIER_INIT", // {tid, pc, obj, n} 24 "CYCLIC_BARRIER_WAIT_BEFORE", // {tid, pc, obj, 0} 25 "CYCLIC_BARRIER_WAIT_AFTER", // {tid, pc, obj, 0} 26 "PCQ_CREATE", // {tid, pc, pcq_addr, 0} 27 "PCQ_DESTROY", // {tid, pc, pcq_addr, 0} 28 "PCQ_PUT", // {tid, pc, pcq_addr, 0} 29 "PCQ_GET", // {tid, pc, pcq_addr, 0} 30 "STACK_MEM_DIE", // deprecated. 31 "MALLOC", // {tid, pc, addr, size} 32 "FREE", // {tid, pc, addr, 0} 33 "MMAP", // {tid, pc, addr, size} 34 "MUNMAP", // {tid, pc, addr, size} 35 "PUBLISH_RANGE", // may be deprecated later. 36 "UNPUBLISH_RANGE", // deprecated. TODO(kcc): get rid of this. 37 "HB_LOCK", // {tid, pc, addr, 0} 38 "NON_HB_LOCK", // {tid, pc, addr, 0} 39 "IGNORE_READS_BEG", // {tid, pc, 0, 0} 40 "IGNORE_READS_END", // {tid, pc, 0, 0} 41 "IGNORE_WRITES_BEG", // {tid, pc, 0, 0} 42 "IGNORE_WRITES_END", // {tid, pc, 0, 0} 43 "SET_THREAD_NAME", // {tid, pc, name_str, 0} 44 "SET_LOCK_NAME", // {tid, pc, lock, lock_name_str} 45 "TRACE_MEM", // {tid, pc, addr, 0} 46 "EXPECT_RACE", // {tid, descr_str, ptr, size} 47 "BENIGN_RACE", // {tid, descr_str, ptr, size} 48 "EXPECT_RACE_BEGIN", // {tid, pc, 0, 0} 49 "EXPECT_RACE_END", // {tid, pc, 0, 0} 50 "VERBOSITY", // Used for debugging. 51 "STACK_TRACE", // {tid, pc, 0, 0}, for debugging. 52 "FLUSH_STATE", // {tid, pc, 0, 0} 53 "PC_DESCRIPTION", // {0, pc, descr_str, 0}, for ts_offline. 54 "PRINT_MESSAGE", // {tid, pc, message_str, 0}, for ts_offline. 55 "FLUSH_EXPECTED_RACES", // {0, 0, 0, 0} 56 "LAST_EVENT" // Should not appear. 57 }; 58