| static const char *kEventNames[] = { |
| "NOOP", // Should not appear. |
| "READ", // {tid, pc, addr, size} |
| "WRITE", // {tid, pc, addr, size} |
| "READER_LOCK", // {tid, pc, lock, 0} |
| "WRITER_LOCK", // {tid, pc, lock, 0} |
| "UNLOCK", // {tid, pc, lock, 0} |
| "UNLOCK_OR_INIT", // {tid, pc, lock, 0} |
| "LOCK_CREATE", // {tid, pc, lock, 0} |
| "LOCK_DESTROY", // {tid, pc, lock, 0} |
| "THR_CREATE_BEFORE", // Parent thread's event. {tid, pc, 0, 0} |
| "THR_CREATE_AFTER", // Parent thread's event. {tid, 0, 0, child_tid} |
| "THR_START", // Child thread's event {tid, CallStack, 0, parent_tid} |
| "THR_FIRST_INSN", // Used only by valgrind. |
| "THR_END", // {tid, 0, 0, 0} |
| "THR_JOIN_AFTER", // {tid, pc, joined_tid} |
| "THR_STACK_TOP", // {tid, pc, stack_top, stack_size_if_known} |
| "RTN_EXIT", // {tid, 0, 0, 0} |
| "RTN_CALL", // {tid, pc, 0, 0} |
| "SBLOCK_ENTER", // {tid, pc, 0, 0} |
| "SIGNAL", // {tid, pc, obj, 0} |
| "WAIT", // {tid, pc, obj, 0} |
| "CYCLIC_BARRIER_INIT", // {tid, pc, obj, n} |
| "CYCLIC_BARRIER_WAIT_BEFORE", // {tid, pc, obj, 0} |
| "CYCLIC_BARRIER_WAIT_AFTER", // {tid, pc, obj, 0} |
| "PCQ_CREATE", // {tid, pc, pcq_addr, 0} |
| "PCQ_DESTROY", // {tid, pc, pcq_addr, 0} |
| "PCQ_PUT", // {tid, pc, pcq_addr, 0} |
| "PCQ_GET", // {tid, pc, pcq_addr, 0} |
| "STACK_MEM_DIE", // deprecated. |
| "MALLOC", // {tid, pc, addr, size} |
| "FREE", // {tid, pc, addr, 0} |
| "MMAP", // {tid, pc, addr, size} |
| "MUNMAP", // {tid, pc, addr, size} |
| "PUBLISH_RANGE", // may be deprecated later. |
| "UNPUBLISH_RANGE", // deprecated. TODO(kcc): get rid of this. |
| "HB_LOCK", // {tid, pc, addr, 0} |
| "NON_HB_LOCK", // {tid, pc, addr, 0} |
| "IGNORE_READS_BEG", // {tid, pc, 0, 0} |
| "IGNORE_READS_END", // {tid, pc, 0, 0} |
| "IGNORE_WRITES_BEG", // {tid, pc, 0, 0} |
| "IGNORE_WRITES_END", // {tid, pc, 0, 0} |
| "SET_THREAD_NAME", // {tid, pc, name_str, 0} |
| "SET_LOCK_NAME", // {tid, pc, lock, lock_name_str} |
| "TRACE_MEM", // {tid, pc, addr, 0} |
| "EXPECT_RACE", // {tid, descr_str, ptr, size} |
| "BENIGN_RACE", // {tid, descr_str, ptr, size} |
| "EXPECT_RACE_BEGIN", // {tid, pc, 0, 0} |
| "EXPECT_RACE_END", // {tid, pc, 0, 0} |
| "VERBOSITY", // Used for debugging. |
| "STACK_TRACE", // {tid, pc, 0, 0}, for debugging. |
| "FLUSH_STATE", // {tid, pc, 0, 0} |
| "PC_DESCRIPTION", // {0, pc, descr_str, 0}, for ts_offline. |
| "PRINT_MESSAGE", // {tid, pc, message_str, 0}, for ts_offline. |
| "FLUSH_EXPECTED_RACES", // {0, 0, 0, 0} |
| "LAST_EVENT" // Should not appear. |
| }; |