Lines Matching defs:pc

18 ALWAYS_INLINE USED bool TryTraceMemoryAccess(ThreadState* thr, uptr pc,
28 uptr pc_delta = pc - thr->trace_prev_pc + (1 << (EventAccess::kPCBits - 1));
29 thr->trace_prev_pc = pc;
51 evex->pc = pc;
57 bool TryTraceMemoryAccessRange(ThreadState* thr, uptr pc, uptr addr, uptr size,
64 thr->trace_prev_pc = pc;
71 ev->pc = CompressAddr(pc);
78 void TraceMemoryAccessRange(ThreadState* thr, uptr pc, uptr addr, uptr size,
80 if (LIKELY(TryTraceMemoryAccessRange(thr, pc, addr, size, typ)))
83 UNUSED bool res = TryTraceMemoryAccessRange(thr, pc, addr, size, typ);
87 void TraceFunc(ThreadState* thr, uptr pc) {
88 if (LIKELY(TryTraceFunc(thr, pc)))
91 UNUSED bool res = TryTraceFunc(thr, pc);
95 NOINLINE void TraceRestartFuncEntry(ThreadState* thr, uptr pc) {
97 FuncEntry(thr, pc);
105 void TraceMutexLock(ThreadState* thr, EventType type, uptr pc, uptr addr,
114 ev.pc = CompressAddr(pc);
414 NOINLINE void TraceRestartMemoryAccess(ThreadState* thr, uptr pc, uptr addr,
417 MemoryAccess(thr, pc, addr, size, typ);
420 ALWAYS_INLINE USED void MemoryAccess(ThreadState* thr, uptr pc, uptr addr,
440 if (!TryTraceMemoryAccess(thr, pc, addr, size, typ))
441 return TraceRestartMemoryAccess(thr, pc, addr, size, typ);
445 void MemoryAccess16(ThreadState* thr, uptr pc, uptr addr, AccessType typ);
448 void RestartMemoryAccess16(ThreadState* thr, uptr pc, uptr addr,
451 MemoryAccess16(thr, pc, addr, typ);
454 ALWAYS_INLINE USED void MemoryAccess16(ThreadState* thr, uptr pc, uptr addr,
467 if (!TryTraceMemoryAccessRange(thr, pc, addr, size, typ))
468 return RestartMemoryAccess16(thr, pc, addr, typ);
478 if (!traced && !TryTraceMemoryAccessRange(thr, pc, addr, size, typ))
479 return RestartMemoryAccess16(thr, pc, addr, typ);
484 void RestartUnalignedMemoryAccess(ThreadState* thr, uptr pc, uptr addr,
487 UnalignedMemoryAccess(thr, pc, addr, size, typ);
490 ALWAYS_INLINE USED void UnalignedMemoryAccess(ThreadState* thr, uptr pc,
505 if (!TryTraceMemoryAccessRange(thr, pc, addr, size, typ))
506 return RestartUnalignedMemoryAccess(thr, pc, addr, size, typ);
520 if (!traced && !TryTraceMemoryAccessRange(thr, pc, addr, size, typ))
521 return RestartUnalignedMemoryAccess(thr, pc, addr, size, typ);
583 void MemoryResetRange(ThreadState* thr, uptr pc, uptr addr, uptr size) {
589 void MemoryRangeFreed(ThreadState* thr, uptr pc, uptr addr, uptr size) {
607 TraceMemoryAccessRange(thr, pc, addr, size, typ);
633 void MemoryRangeImitateWrite(ThreadState* thr, uptr pc, uptr addr, uptr size) {
636 TraceMemoryAccessRange(thr, pc, addr, size, kAccessWrite);
641 void MemoryRangeImitateWriteOrResetRange(ThreadState* thr, uptr pc, uptr addr,
644 MemoryRangeImitateWrite(thr, pc, addr, size);
646 MemoryResetRange(thr, pc, addr, size);
659 NOINLINE void RestartMemoryAccessRange(ThreadState* thr, uptr pc, uptr addr,
662 MemoryAccessRangeT<is_read>(thr, pc, addr, size);
666 void MemoryAccessRangeT(ThreadState* thr, uptr pc, uptr addr, uptr size) {
671 (void*)pc, (void*)addr, (int)size, is_read);
714 if (!TryTraceMemoryAccessRange(thr, pc, addr, size, typ))
715 return RestartMemoryAccessRange<is_read>(thr, pc, addr, size);
740 template void MemoryAccessRangeT<true>(ThreadState* thr, uptr pc, uptr addr,
742 template void MemoryAccessRangeT<false>(ThreadState* thr, uptr pc, uptr addr,