Lines Matching defs:access

11 // Definitions of memory access and function entry/exit entry points.
206 if (LIKELY(!(cur.access() & old.access())))
210 LIKELY(cur.access() == old.access() && old.IsRWWeakerOrEqual(typ))) {
224 // the current access info, so we are done.
234 # define LOAD_CURRENT_SHADOW(cur, shadow_mem) UNUSED int access = 0, shadow = 0
240 m128 access, AccessType typ) {
241 // Note: we could check if there is a larger access of the same type,
244 // access". However, it will make the check more expensive, so it's unclear
248 const m128 same = _mm_cmpeq_epi32(shadow, access);
263 m128 same = _mm_cmpeq_epi32(masked_shadow, access);
265 // Shadow::kRodatas is not possible for free memory access
277 // access. Extract that element.
306 m128 shadow, m128 access, AccessType typ) {
307 // Note: empty/zero slots don't intersect with any access.
312 const m128 access_and = _mm_and_si128(access, shadow);
313 const m128 access_xor = _mm_xor_si128(access, shadow);
328 // We could also replace different sid's if access is the same,
329 // rw weaker and happens before. However, just checking access below
385 const m128 access = _mm_set1_epi32(static_cast<u32>((cur).raw())); \
397 internal_snprintf(buf, 64, "{tid=%u@%u access=0x%x typ=%x}",
399 s.access(), static_cast<u32>(typ));
403 // TryTrace* and TraceRestart* functions allow to turn memory access and func
436 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ)))
442 CheckRaces(thr, shadow_mem, cur, shadow, access, typ);
465 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ)))
470 if (UNLIKELY(CheckRaces(thr, shadow_mem, cur, shadow, access, typ)))
476 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ)))
480 CheckRaces(thr, shadow_mem, cur, shadow, access, typ);
503 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ)))
508 if (UNLIKELY(CheckRaces(thr, shadow_mem, cur, shadow, access, typ)))
518 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ)))
522 CheckRaces(thr, shadow_mem, cur, shadow, access, typ);
592 // with respect to bug detection: freed memory is bad to access,
593 // but then if the heap block is reallocated later, it's good to access.
596 // but the heap block was reallocated before the current memory access,
597 // so it's still good to access. It's not the case with data races.
611 const m128 access = _mm_set1_epi32(static_cast<u32>(cur.raw()));
617 if (UNLIKELY(CheckRaces(thr, shadow_mem, cur, shadow, access, typ)))
653 if (LIKELY(ContainsSameAccess(shadow_mem, cur, shadow, access, typ)))
655 return CheckRaces(thr, shadow_mem, cur, shadow, access, typ);
696 // Check here once to not check for every access separately.