Lines Matching refs:typ
20 AccessType typ) { in TryTraceMemoryAccess() argument
32 ev->is_read = !!(typ & kAccessRead); in TryTraceMemoryAccess()
33 ev->is_atomic = !!(typ & kAccessAtomic); in TryTraceMemoryAccess()
45 evex->is_read = !!(typ & kAccessRead); in TryTraceMemoryAccess()
46 evex->is_atomic = !!(typ & kAccessAtomic); in TryTraceMemoryAccess()
58 AccessType typ) { in TryTraceMemoryAccessRange() argument
68 ev->is_read = !!(typ & kAccessRead); in TryTraceMemoryAccessRange()
69 ev->is_free = !!(typ & kAccessFree); in TryTraceMemoryAccessRange()
79 AccessType typ) { in TraceMemoryAccessRange() argument
80 if (LIKELY(TryTraceMemoryAccessRange(thr, pc, addr, size, typ))) in TraceMemoryAccessRange()
83 UNUSED bool res = TryTraceMemoryAccessRange(thr, pc, addr, size, typ); in TraceMemoryAccessRange()
150 AccessType typ) SANITIZER_NO_THREAD_SAFETY_ANALYSIS { in DoReportRace() argument
164 if (typ & kAccessSlotLocked) in DoReportRace()
166 ReportRace(thr, shadow_mem, cur, Shadow(old), typ); in DoReportRace()
167 if (typ & kAccessSlotLocked) in DoReportRace()
174 AccessType typ) { in ContainsSameAccess() argument
177 if (!(typ & kAccessRead)) { in ContainsSameAccess()
186 if (!(typ & kAccessNoRodata) && !SANITIZER_GO) { in ContainsSameAccess()
196 int unused0, int unused1, AccessType typ) { in CheckRaces() argument
202 if (!(typ & kAccessCheckOnly) && !stored) in CheckRaces()
209 if (!(typ & kAccessCheckOnly) && in CheckRaces()
210 LIKELY(cur.access() == old.access() && old.IsRWWeakerOrEqual(typ))) { in CheckRaces()
216 if (LIKELY(old.IsBothReadsOrAtomic(typ))) in CheckRaces()
220 DoReportRace(thr, shadow_mem, cur, old, typ); in CheckRaces()
240 m128 access, AccessType typ) { in ContainsSameAccess() argument
247 if (!(typ & kAccessRead)) { in ContainsSameAccess()
267 if (!(typ & kAccessNoRodata) && !SANITIZER_GO) { in ContainsSameAccess()
275 u32 race_mask, m128 shadow, AccessType typ) { in DoReportRaceV() argument
301 DoReportRace(thr, shadow_mem, cur, prev, typ); in DoReportRaceV()
306 m128 shadow, m128 access, AccessType typ) { in CheckRaces() argument
326 if (typ & kAccessCheckOnly) in CheckRaces()
338 _mm_set1_epi32((typ & (kAccessRead | kAccessAtomic)) << 30); in CheckRaces()
380 DoReportRaceV(thr, shadow_mem, cur, concurrent_mask, shadow, typ); in CheckRaces()
395 AccessType typ; in DumpShadow() local
396 s.GetAccess(nullptr, nullptr, &typ); in DumpShadow()
399 s.access(), static_cast<u32>(typ)); in DumpShadow()
415 uptr size, AccessType typ) { in TraceRestartMemoryAccess() argument
417 MemoryAccess(thr, pc, addr, size, typ); in TraceRestartMemoryAccess()
421 uptr size, AccessType typ) { in MemoryAccess() argument
427 static_cast<int>(typ), DumpShadow(memBuf[0], shadow_mem[0]), in MemoryAccess()
433 Shadow cur(fast_state, addr, size, typ); in MemoryAccess()
436 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ))) in MemoryAccess()
440 if (!TryTraceMemoryAccess(thr, pc, addr, size, typ)) in MemoryAccess()
441 return TraceRestartMemoryAccess(thr, pc, addr, size, typ); in MemoryAccess()
442 CheckRaces(thr, shadow_mem, cur, shadow, access, typ); in MemoryAccess()
445 void MemoryAccess16(ThreadState* thr, uptr pc, uptr addr, AccessType typ);
449 AccessType typ) { in RestartMemoryAccess16() argument
451 MemoryAccess16(thr, pc, addr, typ); in RestartMemoryAccess16()
455 AccessType typ) { in MemoryAccess16() argument
460 Shadow cur(fast_state, 0, 8, typ); in MemoryAccess16()
465 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ))) in MemoryAccess16()
467 if (!TryTraceMemoryAccessRange(thr, pc, addr, size, typ)) in MemoryAccess16()
468 return RestartMemoryAccess16(thr, pc, addr, typ); in MemoryAccess16()
470 if (UNLIKELY(CheckRaces(thr, shadow_mem, cur, shadow, access, typ))) in MemoryAccess16()
476 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ))) in MemoryAccess16()
478 if (!traced && !TryTraceMemoryAccessRange(thr, pc, addr, size, typ)) in MemoryAccess16()
479 return RestartMemoryAccess16(thr, pc, addr, typ); in MemoryAccess16()
480 CheckRaces(thr, shadow_mem, cur, shadow, access, typ); in MemoryAccess16()
485 uptr size, AccessType typ) { in RestartUnalignedMemoryAccess() argument
487 UnalignedMemoryAccess(thr, pc, addr, size, typ); in RestartUnalignedMemoryAccess()
492 AccessType typ) { in UnalignedMemoryAccess() argument
501 Shadow cur(fast_state, addr, size1, typ); in UnalignedMemoryAccess()
503 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ))) in UnalignedMemoryAccess()
505 if (!TryTraceMemoryAccessRange(thr, pc, addr, size, typ)) in UnalignedMemoryAccess()
506 return RestartUnalignedMemoryAccess(thr, pc, addr, size, typ); in UnalignedMemoryAccess()
508 if (UNLIKELY(CheckRaces(thr, shadow_mem, cur, shadow, access, typ))) in UnalignedMemoryAccess()
516 Shadow cur(fast_state, 0, size2, typ); in UnalignedMemoryAccess()
518 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ))) in UnalignedMemoryAccess()
520 if (!traced && !TryTraceMemoryAccessRange(thr, pc, addr, size, typ)) in UnalignedMemoryAccess()
521 return RestartUnalignedMemoryAccess(thr, pc, addr, size, typ); in UnalignedMemoryAccess()
522 CheckRaces(thr, shadow_mem, cur, shadow, access, typ); in UnalignedMemoryAccess()
605 const AccessType typ = kAccessWrite | kAccessFree | kAccessSlotLocked | in MemoryRangeFreed() local
607 TraceMemoryAccessRange(thr, pc, addr, size, typ); in MemoryRangeFreed()
609 Shadow cur(thr->fast_state, 0, kShadowCell, typ); in MemoryRangeFreed()
617 if (UNLIKELY(CheckRaces(thr, shadow_mem, cur, shadow, access, typ))) in MemoryRangeFreed()
623 if (UNLIKELY(CheckRaces(thr, shadow_mem, cur, 0, 0, typ))) in MemoryRangeFreed()
651 AccessType typ) { in MemoryAccessRangeOne() argument
653 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ))) in MemoryAccessRangeOne()
655 return CheckRaces(thr, shadow_mem, cur, shadow, access, typ); in MemoryAccessRangeOne()
667 const AccessType typ = in MemoryAccessRangeT() local
708 if (!TryTraceMemoryAccessRange(thr, pc, addr, size, typ)) in MemoryAccessRangeT()
715 Shadow cur(fast_state, addr, size1, typ); in MemoryAccessRangeT()
716 if (UNLIKELY(MemoryAccessRangeOne(thr, shadow_mem, cur, typ))) in MemoryAccessRangeT()
721 Shadow cur(fast_state, 0, kShadowCell, typ); in MemoryAccessRangeT()
723 if (UNLIKELY(MemoryAccessRangeOne(thr, shadow_mem, cur, typ))) in MemoryAccessRangeT()
728 Shadow cur(fast_state, 0, size, typ); in MemoryAccessRangeT()
729 if (UNLIKELY(MemoryAccessRangeOne(thr, shadow_mem, cur, typ))) in MemoryAccessRangeT()