| /src/external/gpl3/gcc.old/dist/libsanitizer/tsan/ |
| tsan_update_shadow_word.inc | 27 if (LIKELY(Shadow::Addr0AndSizeAreEqual(cur, old))) { 29 if (LIKELY(Shadow::TidsAreEqual(old, cur))) { 48 if (Shadow::TwoRangesIntersect(old, cur, kAccessSize)) { 49 if (Shadow::TidsAreEqual(old, cur))
|
| tsan_shadow.h | 85 friend class Shadow; 94 // Shadow (from most significant bit): 102 class Shadow : public FastState { 104 explicit Shadow(u64 x) : FastState(x) {} 106 explicit Shadow(const FastState &s) : FastState(s.x_) { ClearHistorySize(); } 135 static inline bool TidsAreEqual(const Shadow s1, const Shadow s2) { 141 static ALWAYS_INLINE bool Addr0AndSizeAreEqual(const Shadow s1, 142 const Shadow s2) { 147 static ALWAYS_INLINE bool TwoRangesIntersect(Shadow s1, Shadow s2 [all...] |
| tsan_rtl_access.cpp | 140 Shadow LoadShadow(u64 *p) { 142 return Shadow(raw); 159 void HandleRace(ThreadState *thr, u64 *shadow_mem, Shadow cur, Shadow old) { 170 static inline bool HappensBefore(Shadow old, ThreadState *thr) { 177 Shadow cur) { 185 // scan all the shadow values and dispatch to 4 categories: 193 Shadow old(0); 265 Shadow cur(a); 267 Shadow old(LoadShadow(&s[i])) [all...] |
| tsan_rtl_report.cpp | 177 void ScopedReportBase::AddMemoryAccess(uptr addr, uptr external_tag, Shadow s, 525 // split into multiple accesses in the shadow. 812 Shadow s0(thr->racy_state[0]); 813 Shadow s1(thr->racy_state[1]); 838 Shadow s(thr->racy_state[1]); 847 uptr a0 = addr + Shadow(thr->racy_state[0]).addr0(); 848 uptr a1 = addr + Shadow(thr->racy_state[1]).addr0(); 849 uptr e0 = a0 + Shadow(thr->racy_state[0]).size(); 850 uptr e1 = a1 + Shadow(thr->racy_state[1]).size(); 899 Shadow s2(thr->racy_state[1]) [all...] |
| /src/sys/external/bsd/compiler_rt/dist/lib/tsan/rtl/ |
| tsan_update_shadow_word_inl.h | 30 if (Shadow::Addr0AndSizeAreEqual(cur, old)) { 33 if (Shadow::TidsAreEqual(old, cur)) { 50 if (Shadow::TwoRangesIntersect(old, cur, kAccessSize)) { 52 if (Shadow::TidsAreEqual(old, cur)) {
|
| tsan_rtl.cc | 249 if (!MmapFixedNoReserve(shadow_begin, shadow_end - shadow_begin, "shadow")) 252 // Meta shadow is 2:1, so tread carefully. 262 if (!MmapFixedNoReserve(meta_begin, meta_end - meta_begin, "meta shadow")) 273 if (!MmapFixedNoReserve(meta_begin, meta_end - meta_begin, "meta shadow")) 277 VPrintf(2, "mapped meta shadow for (%p-%p) at (%p-%p)\n", 300 VPrintf(3, "checking shadow region %p-%p\n", beg, end); 309 VPrintf(3, " checking pointer %p: shadow=%p meta=%p\n", p, s, m); 315 // Ensure that shadow and meta mappings are linear within a single 599 Shadow LoadShadow(u64 *p) { 601 return Shadow(raw) [all...] |
| tsan_rtl.h | 98 const u64 kShadowRodata = (u64)-1; // .rodata shadow marker 174 friend class Shadow; 183 // Shadow (from most significant bit): 191 class Shadow : public FastState { 193 explicit Shadow(u64 x) 197 explicit Shadow(const FastState &s) 233 static inline bool TidsAreEqual(const Shadow s1, const Shadow s2) { 240 bool Addr0AndSizeAreEqual(const Shadow s1, const Shadow s2) [all...] |
| tsan_rtl_report.cc | 166 void ScopedReportBase::AddMemoryAccess(uptr addr, uptr external_tag, Shadow s, 577 Shadow s0(thr->racy_state[0]); 578 Shadow s1(thr->racy_state[1]); 603 Shadow s(thr->racy_state[1]); 612 uptr a0 = addr + Shadow(thr->racy_state[0]).addr0(); 613 uptr a1 = addr + Shadow(thr->racy_state[1]).addr0(); 614 uptr e0 = a0 + Shadow(thr->racy_state[0]).size(); 615 uptr e1 = a1 + Shadow(thr->racy_state[1]).size(); 666 Shadow s2(thr->racy_state[1]); 687 Shadow s(thr->racy_state[i]) [all...] |
| tsan_rtl_thread.cc | 103 // Setup dynamic shadow stack. 345 Printf("Bad shadow addr %p (%zx)\n", shadow_mem, addr); 349 Printf("Bad shadow addr %p (%zx)\n", 378 Shadow cur(fast_state); 389 Shadow cur(fast_state); 399 Shadow cur(fast_state);
|
| /src/sys/external/bsd/compiler_rt/dist/lib/tsan/tests/unit/ |
| tsan_shadow_test.cc | 19 TEST(Shadow, FastState) { 20 Shadow s(FastState(11, 22)); 49 TEST(Shadow, Mapping) { 64 TEST(Shadow, Celling) {
|
| /src/external/gpl3/gcc/dist/libsanitizer/tsan/ |
| tsan_rtl_access.cpp | 148 NOINLINE void DoReportRace(ThreadState* thr, RawShadow* shadow_mem, Shadow cur, 149 Shadow old, 151 // For the free shadow markers the first element (that contains kFreeSid) 155 old = Shadow(LoadShadow(&shadow_mem[1])); 158 StoreShadow(&shadow_mem[i], i == 0 ? Shadow::kRodata : Shadow::kEmpty); 166 ReportRace(thr, shadow_mem, cur, Shadow(old), typ); 173 bool ContainsSameAccess(RawShadow* s, Shadow cur, int unused0, int unused1, 183 static_cast<u32>(Shadow::kRodata)); 187 if (old == Shadow::kRodata 616 const m128 shadow = _mm_load_si128((m128*)shadow_mem); local [all...] |
| tsan_shadow.h | 41 friend class Shadow; 57 class Shadow { 61 Shadow(FastState state, u32 addr, u32 size, AccessType typ) { 77 explicit Shadow(RawShadow x = Shadow::kEmpty) { raw_ = static_cast<u32>(x); } 85 DCHECK(part_.access_ != 0 || raw_ == static_cast<u32>(Shadow::kRodata)); 136 Shadow s(fs, 0, 8, kAccessWrite); 141 Shadow s; 174 // .rodata shadow marker, see MapRodata and ContainsSameAccessFast. 179 static_assert(sizeof(Shadow) == kShadowSize, "bad Shadow size") [all...] |
| tsan_rtl_report.cpp | 177 void ScopedReportBase::AddMemoryAccess(uptr addr, uptr external_tag, Shadow s, 422 // split into multiple accesses in the shadow. 703 static bool SpuriousRace(Shadow old) { 704 Shadow last(LoadShadow(&ctx->last_spurious_race)); 708 void ReportRace(ThreadState *thr, RawShadow *shadow_mem, Shadow cur, Shadow old, 732 Shadow s[kMop] = {cur, old};
|
| tsan_interface_java.cpp | 131 // Clear the destination shadow range. 132 // We used to move shadow from src to dst, but the trace format does not 136 ShadowSet(d, dend, Shadow::kEmpty);
|
| tsan_rtl.h | 321 // a thread running concurrently with DoReset can leave a bogus shadow value 332 // notice that DoReset has happened and will stop producing bogus shadow 336 // It is of course possible that multiple threads left multiple bogus shadow 409 void AddMemoryAccess(uptr addr, uptr external_tag, Shadow s, Tid tid, 496 void ReportRace(ThreadState *thr, RawShadow *shadow_mem, Shadow cur, Shadow old,
|
| tsan_platform_linux.cpp | 141 "==%zu== %llus [%zu]: RSS %zd MB: shadow:%zd meta:%zd file:%zd" 153 // Mark shadow for .rodata sections with the special Shadow::kRodata marker. 173 // Fill the file with Shadow::kRodata. 179 *p = Shadow::kRodata; 188 // Map the file into shadow of .rodata sections. 286 // Go maps shadow memory lazily and works fine with limited address space. 293 // overlaps with shadow memory). If we detect unlimited stack size,
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Instrumentation/ |
| DataFlowSanitizer.cpp | 22 /// application memory is backed by a shadow memory byte. The shadow byte can 38 /// | shadow memory | 47 /// two bytes of shadow memory which hold the label. That means we can represent 63 /// | shadow memory | 69 /// To derive a shadow memory address from an application memory address, 72 /// account for the double byte representation of shadow labels and move the 73 /// address into the shadow memory range. See the function 153 // External symbol to be used when generating the shadow address for 161 // the shadow load to have alignment 16. This flag is disabled by default a [all...] |
| MemProfiler.cpp | 10 // to increment the access count held in a shadow memory location, or 46 // Size of memory mapped to a single shadow location. 49 // Scale from granularity down to shadow size. 97 // These flags allow to change the shadow mapping. 98 // The shadow mapping looks like 99 // Shadow = ((Mem & mask) >> scale) + offset 102 cl::desc("scale of memprof shadow mapping"), 107 cl::desc("granularity of memprof shadow mapping"), 129 /// This struct defines the shadow mapping using the rule: 130 /// shadow = ((mem & mask) >> Scale) ADD DynamicShadowOffset [all...] |
| MemorySanitizer.cpp | 14 /// (http://goo.gl/QKbem). We associate a few shadow bits with every 15 /// byte of the application memory, poison the shadow of the malloc-ed 16 /// or alloca-ed memory, load the shadow bits on every memory read, 17 /// propagate the shadow bits through some of the arithmetic 18 /// instruction (including MOV), store the shadow bits on every memory 20 /// associated shadow is poisoned. 30 /// Another difference from Memcheck is that we use 8 shadow bits per 31 /// byte of application memory and use a direct shadow mapping. This 33 /// shadow updates (Memcheck is single-threaded so races are not a 34 /// concern there. Memcheck uses 2 shadow bits per byte with a slo [all...] |
| HWAddressSanitizer.cpp | 139 // These flags allow to change the shadow mapping and control how shadow memory 140 // is accessed. The shadow mapping looks like: 141 // Shadow = (Mem >> scale) + offset 145 cl::desc("HWASan shadow mapping offset [EXPERIMENTAL]"), 150 cl::desc("Access dynamic shadow through an ifunc global on " 156 cl::desc("Access dynamic shadow through an thread-local pointer on " 218 Value *memToShadow(Value *Shadow, IRBuilder<> &IRB); 259 /// This struct defines the shadow mapping using the rule: 260 /// shadow = (mem >> Scale) + Offset [all...] |
| /src/external/gpl3/gcc/dist/libsanitizer/hwasan/ |
| hwasan_report.cpp | 416 shadow(CopyShadow()) {} 454 struct Shadow { 461 Shadow CopyShadow() const; 486 const Shadow shadow; member in class:__hwasan::__anon14550::BaseReport 520 BaseReport::Shadow BaseReport::CopyShadow() const { 521 Shadow result; 527 uptr short_end = kShortDumpOffset + ARRAY_SIZE(shadow.short_tags); 545 CHECK_GE(addr, shadow.addr); 546 uptr idx = addr - shadow.addr [all...] |
| /src/external/apache2/llvm/dist/clang/lib/Sema/ |
| SemaDeclCXX.cpp | 851 // It's not permitted to shadow a template parameter name. 6992 /// inherited to the using shadow declaration in that base class (or a null 6999 ConstructorUsingShadowDecl *Shadow) 7007 for (auto *D : Shadow->redecls()) { 7029 !Shadow->isInvalidDecl()) { 7032 << Shadow->getTargetDecl(); 7045 Shadow->setInvalidDecl(); 11634 /// Determines whether to create a using shadow decl for a particular 11641 // function will silently decide not to build a shadow decl, which 11657 // The right solution is to not collapse the shadow-decl chain [all...] |
| SemaLookup.cpp | 369 // shadow declaration over any other declaration of the same entity. 3193 // will always be a (possibly implicit) declaration to shadow any others. 3642 /// An entry in the shadow map, which is optimized to store a 3652 /// A list of shadow maps, which is used to model name hiding. 3678 /// Add a declaration to the current shadow map. 3684 /// RAII object that records when we've entered a shadow context. 3732 // A shadow declaration that's created by a resolved using declaration 3774 ShadowContextRAII Shadow(Visited); 3785 ShadowContextRAII Shadow(Visited); 3855 ShadowContextRAII Shadow(Visited) [all...] |
| SemaAccess.cpp | 1310 if (UsingShadowDecl *Shadow = 1317 << Shadow->getUsingDecl()->getQualifiedNameAsString() 1694 } else if (auto *Shadow = 1698 ObjectClass = Shadow->getParent();
|
| /src/external/apache2/llvm/dist/clang/include/clang/AST/ |
| DeclCXX.h | 2375 ConstructorUsingShadowDecl *Shadow = nullptr; 2380 InheritedConstructor(ConstructorUsingShadowDecl *Shadow, 2382 : Shadow(Shadow), BaseCtor(BaseCtor) {} 2384 explicit operator bool() const { return Shadow; } 2386 ConstructorUsingShadowDecl *getShadowDecl() const { return Shadow; } 3165 /// Represents a shadow declaration introduced into a scope by a 3185 /// shadow declaration contained in the aforementioned using declaration. 3248 // if it is a shadow declaration for one. 3257 /// The next using shadow declaration contained in the shadow dec [all...] |