Lines Matching defs:cur

148 NOINLINE void DoReportRace(ThreadState* thr, RawShadow* shadow_mem, Shadow cur,
166 ReportRace(thr, shadow_mem, cur, Shadow(old), typ);
173 bool ContainsSameAccess(RawShadow* s, Shadow cur, int unused0, int unused1,
178 if (old == cur.raw())
184 if (masked == cur.raw())
195 bool CheckRaces(ThreadState* thr, RawShadow* shadow_mem, Shadow cur,
203 StoreShadow(sp, cur.raw());
206 if (LIKELY(!(cur.access() & old.access())))
208 if (LIKELY(cur.sid() == old.sid())) {
210 LIKELY(cur.access() == old.access() && old.IsRWWeakerOrEqual(typ))) {
211 StoreShadow(sp, cur.raw());
220 DoReportRace(thr, shadow_mem, cur, old, typ);
230 StoreShadow(&shadow_mem[index], cur.raw());
234 # define LOAD_CURRENT_SHADOW(cur, shadow_mem) UNUSED int access = 0, shadow = 0
274 NOINLINE void DoReportRaceV(ThreadState* thr, RawShadow* shadow_mem, Shadow cur,
301 DoReportRace(thr, shadow_mem, cur, prev, typ);
305 bool CheckRaces(ThreadState* thr, RawShadow* shadow_mem, Shadow cur,
351 StoreShadow(&shadow_mem[index / 4], cur.raw());
380 DoReportRaceV(thr, shadow_mem, cur, concurrent_mask, shadow, typ);
384 # define LOAD_CURRENT_SHADOW(cur, shadow_mem) \
385 const m128 access = _mm_set1_epi32(static_cast<u32>((cur).raw())); \
433 Shadow cur(fast_state, addr, size, typ);
435 LOAD_CURRENT_SHADOW(cur, shadow_mem);
436 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ)))
442 CheckRaces(thr, shadow_mem, cur, shadow, access, typ);
460 Shadow cur(fast_state, 0, 8, typ);
464 LOAD_CURRENT_SHADOW(cur, shadow_mem);
465 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ)))
470 if (UNLIKELY(CheckRaces(thr, shadow_mem, cur, shadow, access, typ)))
475 LOAD_CURRENT_SHADOW(cur, shadow_mem);
476 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ)))
480 CheckRaces(thr, shadow_mem, cur, shadow, access, typ);
501 Shadow cur(fast_state, addr, size1, typ);
502 LOAD_CURRENT_SHADOW(cur, shadow_mem);
503 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ)))
508 if (UNLIKELY(CheckRaces(thr, shadow_mem, cur, shadow, access, typ)))
516 Shadow cur(fast_state, 0, size2, typ);
517 LOAD_CURRENT_SHADOW(cur, shadow_mem);
518 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ)))
522 CheckRaces(thr, shadow_mem, cur, shadow, access, typ);
609 Shadow cur(thr->fast_state, 0, kShadowCell, typ);
611 const m128 access = _mm_set1_epi32(static_cast<u32>(cur.raw()));
614 static_cast<u32>(Shadow::FreedInfo(cur.sid(), cur.epoch())), 0, 0);
617 if (UNLIKELY(CheckRaces(thr, shadow_mem, cur, shadow, access, typ)))
623 if (UNLIKELY(CheckRaces(thr, shadow_mem, cur, 0, 0, typ)))
626 StoreShadow(&shadow_mem[1], Shadow::FreedInfo(cur.sid(), cur.epoch()));
637 Shadow cur(thr->fast_state, 0, 8, kAccessWrite);
638 MemoryRangeSet(addr, size, cur.raw());
650 bool MemoryAccessRangeOne(ThreadState* thr, RawShadow* shadow_mem, Shadow cur,
652 LOAD_CURRENT_SHADOW(cur, shadow_mem);
653 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ)))
655 return CheckRaces(thr, shadow_mem, cur, shadow, access, typ);
721 Shadow cur(fast_state, addr, size1, typ);
722 if (UNLIKELY(MemoryAccessRangeOne(thr, shadow_mem, cur, typ)))
727 Shadow cur(fast_state, 0, kShadowCell, typ);
729 if (UNLIKELY(MemoryAccessRangeOne(thr, shadow_mem, cur, typ)))
734 Shadow cur(fast_state, 0, size, typ);
735 if (UNLIKELY(MemoryAccessRangeOne(thr, shadow_mem, cur, typ)))