Lines Matching defs:uptr
90 Suppression *GetSuppressionForAddr(uptr addr);
92 bool SuppressByRule(const StackTrace &stack, uptr hit_count, uptr total_size);
99 bool Suppress(u32 stack_trace_id, uptr hit_count, uptr total_size);
147 Suppression *LeakSuppressionContext::GetSuppressionForAddr(uptr addr) {
170 static uptr GetCallerPC(const StackTrace &stack) {
181 uptr ptr = reinterpret_cast<uptr>(p);
207 uptr caller_pc = GetCallerPC(stack);
215 uptr hit_count, uptr total_size) {
216 for (uptr i = 0; i < stack.size; i++) {
228 bool LeakSuppressionContext::Suppress(u32 stack_trace_id, uptr hit_count,
229 uptr total_size) {
260 static inline bool MaybeUserPointer(uptr p) {
263 const uptr kMinAddress = 4 * 4096;
272 constexpr uptr kLAM_U57Mask = 0x81ff80;
273 constexpr uptr kPointerMask = kLAM_U57Mask << 40;
280 constexpr uptr kPointerMask = 255ULL << 48;
293 void Init(uptr begin, uptr end) {};
294 void *LoadPtr(uptr p) const { return *reinterpret_cast<void **>(p); }
298 void Init(uptr begin, uptr end) {
306 void *LoadPtr(uptr p) const {
307 uptr offset = p - begin;
308 CHECK_LE(offset + sizeof(void *), reinterpret_cast<uptr>(buffer.size()));
310 reinterpret_cast<uptr>(buffer.data()));
314 uptr begin;
326 void ScanForPointers(uptr begin, uptr end, Frontier *frontier,
330 const uptr alignment = flags()->pointer_alignment();
334 uptr pp = begin;
342 if (!MaybeUserPointer(reinterpret_cast<uptr>(p)))
344 uptr chunk = PointsIntoChunk(p);
373 void ScanRangeForPointers(uptr begin, uptr end, Frontier *frontier,
380 void ScanGlobalRange(uptr begin, uptr end, Frontier *frontier) {
381 uptr allocator_begin = 0, allocator_end = 0;
399 for (uptr i = 0; i < ranges.size(); i++) {
415 uptr) {}
422 pid_t, void (*cb)(void *, void *, uptr, void *), void *);
426 InternalMmapVector<uptr> ptrs;
429 for (uptr i = 0; i < ptrs.size(); ++i) {
431 uptr chunk = PointsIntoChunk(ptr);
447 static void ProcessThread(tid_t os_id, uptr sp,
448 const InternalMmapVector<uptr> ®isters,
455 uptr stack_begin, stack_end, tls_begin, tls_end, cache_begin, cache_end;
471 uptr registers_begin = reinterpret_cast<uptr>(registers.data());
472 uptr registers_end =
473 reinterpret_cast<uptr>(registers.data() + registers.size());
486 uptr page_size = GetPageSizeCached();
525 auto *cb = +[](void *dtls_begin, void *dtls_end, uptr /*dso_idd*/,
528 {reinterpret_cast<uptr>(dtls_begin),
529 reinterpret_cast<uptr>(dtls_end)});
539 uptr dtls_beg = dtv.beg;
540 uptr dtls_end = dtls_beg + dtv.size;
559 uptr caller_sp) {
561 InternalMmapVector<uptr> registers;
563 for (uptr i = 0; i < suspended_threads.ThreadCount(); i++) {
568 uptr sp = 0;
598 uptr i = InternalLowerBound(done_threads, os_id);
600 uptr sp = (os_id == caller_tid) ? caller_sp : 0;
613 using RootRegions = DenseMap<detail::DenseMapPair<uptr, uptr>, uptr>;
662 uptr next_chunk = frontier->back();
672 static void MarkIndirectlyLeakedCb(uptr chunk, void *arg) {
681 static void IgnoredSuppressedCb(uptr chunk, void *arg) {
690 uptr idx = InternalLowerBound(suppressed, m.stack_trace_id());
701 static void CollectIgnoredCb(uptr chunk, void *arg) {
715 uptr caller_sp) {
742 static void ResetTagsCb(uptr chunk, void *arg) {
752 static void CollectLeaksCb(uptr chunk, void *arg) {
772 for (uptr i = 0; i < matched.size(); i++) {
774 static_cast<uptr>(atomic_load_relaxed(&matched[i]->hit_count)),
793 for (uptr i = 0; i < suspended_threads.ThreadCount(); ++i)
803 uptr i = InternalLowerBound(threads, os_id);
843 uptr unsuppressed_count = report.UnsuppressedLeakCount();
882 param.caller_sp = reinterpret_cast<uptr>(__builtin_frame_address(0));
951 const uptr kMaxLeaksConsidered = 5000;
955 uptr chunk = leak.chunk;
957 uptr leaked_size = leak.leaked_size;
968 uptr i;
999 void LeakReport::ReportTopLeaks(uptr num_leaks_to_report) {
1008 uptr unsuppressed_count = UnsuppressedLeakCount();
1012 uptr leaks_reported = 0;
1013 for (uptr i = 0; i < leaks_.size(); i++) {
1022 uptr remaining = unsuppressed_count - leaks_reported;
1027 void LeakReport::PrintReportForLeak(uptr index) {
1045 void LeakReport::PrintLeakedObjectsForLeak(uptr index) {
1047 for (uptr j = 0; j < leaked_objects_.size(); j++) {
1056 uptr bytes = 0, allocations = 0;
1057 for (uptr i = 0; i < leaks_.size(); i++) {
1069 uptr LeakReport::ApplySuppressions() {
1071 uptr new_suppressions = 0;
1072 for (uptr i = 0; i < leaks_.size(); i++) {
1082 uptr LeakReport::UnsuppressedLeakCount() {
1083 uptr result = 0;
1084 for (uptr i = 0; i < leaks_.size(); i++)
1090 uptr LeakReport::IndirectUnsuppressedLeakCount() {
1091 uptr result = 0;
1092 for (uptr i = 0; i < leaks_.size(); i++)
1134 void __lsan_register_root_region(const void *begin, uptr size) {
1137 uptr b = reinterpret_cast<uptr>(begin);
1138 uptr e = b + size;
1147 void __lsan_unregister_root_region(const void *begin, uptr size) {
1149 uptr b = reinterpret_cast<uptr>(begin);
1150 uptr e = b + size;