Home | History | Annotate | Download | only in rtl

Lines Matching defs:Shadow

76 const u64 kShadowRodata = (u64)-1;  // .rodata shadow marker
152 friend class Shadow;
161 // Shadow (from most significant bit):
169 class Shadow : public FastState {
171 explicit Shadow(u64 x)
175 explicit Shadow(const FastState &s)
211 static inline bool TidsAreEqual(const Shadow s1, const Shadow s2) {
218 bool Addr0AndSizeAreEqual(const Shadow s1, const Shadow s2) {
223 static ALWAYS_INLINE bool TwoRangesIntersect(Shadow s1, Shadow s2,
247 // When the memory is freed (or otherwise unaccessible) we write to the shadow
250 // as msb of tid. So any access races with shadow with freed bit set
300 static bool TwoRangesIntersectSlow(const Shadow s1, const Shadow s2) {
322 // action. It allows to reduce number of shadow state updates.
343 // C/C++ uses fixed size shadow stack embed into Trace.
344 // Go uses malloc-allocated shadow stack with dynamic size.
501 void AddMemoryAccess(uptr addr, Shadow s, const StackTrace *stack,
589 u64 *shadow_mem, Shadow cur);