| /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...] |
| tsan_rtl.h | 137 // action. It allows to reduce number of shadow state updates. 162 // C/C++ uses fixed size shadow stack. 165 // Go uses malloc-allocated shadow stack with dynamic size. 355 void AddMemoryAccess(uptr addr, uptr external_tag, Shadow s, StackTrace stack, 479 u64 *shadow_mem, Shadow cur); 762 // Shadow stack maintenance can be replaced with
|
| /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/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...] |
| AddressSanitizer.cpp | 126 // The shadow memory space is dynamically allocated. 226 "asan-force-dynamic-shadow", 227 cl::desc("Load shadow address into a local variable for each function"), 232 cl::desc("Access dynamic shadow through an ifunc global on " 238 cl::desc("Suppress rematerialization of dynamic shadow address by passing " 257 "Inline shadow poisoning for blocks up to the given size in bytes."), 326 // These flags allow to change the shadow mapping. 327 // The shadow mapping looks like 328 // Shadow = (Mem >> scale) + offset 331 cl::desc("scale of asan shadow mapping") [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();
|
| SemaTemplateInstantiateDecl.cpp | 3044 // Don't process the shadow decls for an invalid decl. 3053 // Process the shadow decls. 3054 for (auto *Shadow : D->shadows()) { 3057 NamedDecl *OldTarget = Shadow->getTargetDecl(); 3058 if (auto *CUSD = dyn_cast<ConstructorUsingShadowDecl>(Shadow)) 3064 Shadow->getLocation(), OldTarget, TemplateArgs)); 3073 getPreviousDeclForInstantiation(Shadow)) { 3075 Shadow->getLocation(), OldPrev, TemplateArgs)); 3081 SemaRef.Context.setInstantiatedFromUsingShadowDecl(InstShadow, Shadow); 3084 SemaRef.CurrentInstantiationScope->InstantiatedLocal(Shadow, InstShadow) [all...] |
| SemaDecl.cpp | 1614 /// Removes using shadow declarations from the lookup results. 3230 if (UsingShadowDecl *Shadow = dyn_cast<UsingShadowDecl>(OldD)) { 3233 Diag(Shadow->getTargetDecl()->getLocation(), 3235 Diag(Shadow->getUsingDecl()->getLocation(), 3241 if (checkUsingShadowRedecl<FunctionDecl>(*this, Shadow, New)) 3243 OldD = Old = cast<FunctionDecl>(Shadow->getTargetDecl()); 4050 if (auto *Shadow = 4052 if (checkUsingShadowRedecl<VarTemplateDecl>(*this, Shadow, NewTemplate)) 4057 if (auto *Shadow = 4059 if (checkUsingShadowRedecl<VarDecl>(*this, Shadow, New) [all...] |
| /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...] |
| /src/external/apache2/llvm/dist/clang/lib/AST/ |
| DeclCXX.cpp | 759 // Ignore constructor shadow declarations. They are lazily created and 1364 if (auto *Shadow = dyn_cast<UsingShadowDecl>(D)) { 1365 if (Shadow->getDeclName().getNameKind() 1368 data().Conversions.get(Ctx).addDecl(Ctx, Shadow, Shadow->getAccess()); 3005 const UsingShadowDecl *Shadow = this; 3007 dyn_cast<UsingShadowDecl>(Shadow->UsingOrNextShadow)) 3008 Shadow = NextShadow; 3009 return cast<UsingDecl>(Shadow->UsingOrNextShadow); 3048 // Remove S from the shadow decl chain. This is O(n) but hopefully rare [all...] |
| DeclPrinter.cpp | 1601 for (const auto *Shadow : D->shadows()) { 1603 dyn_cast<ConstructorUsingShadowDecl>(Shadow)) { 1604 assert(Shadow->getDeclContext() == ConstructorShadow->getDeclContext());
|
| /src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
| RDFGraph.cpp | 103 if (Flags & NodeAttrs::Shadow) 1148 // characteristics. Specific examples of related nodes are shadow reference 1210 // Get the next shadow node in IA corresponding to RA, and optionally create 1216 uint16_t Flags = RA.Addr->getFlags() | NodeAttrs::Shadow; 1224 // Create a copy of RA and mark is as shadow. 1226 NA.Addr->setFlags(Flags | NodeAttrs::Shadow); 1231 // Get the next shadow node in IA corresponding to RA. Return null-address 1236 uint16_t Flags = RA.Addr->getFlags() | NodeAttrs::Shadow; 1560 // reaching def of TA to the appropriate def node. Create any shadow nodes 1593 // Mark the existing ref as "shadow" and create a new shadow [all...] |