Home | History | Annotate | Download | only in asan

Lines Matching refs:class_id

26 ALWAYS_INLINE void SetShadow(uptr ptr, uptr size, uptr class_id, u64 magic) {
29 if (class_id <= 6) {
30 for (uptr i = 0; i < (1U << class_id); i++)
63 for (uptr class_id = 0; class_id < kNumberOfSizeClasses; class_id++)
64 str.append("%zd: %zd/%zd; ", class_id, hint_position_[class_id],
65 NumberOfFrames(stack_size_log(), class_id));
79 FakeFrame *FakeStack::Allocate(uptr stack_size_log, uptr class_id,
81 CHECK_LT(class_id, kNumberOfSizeClasses);
84 uptr &hint_position = hint_position_[class_id];
85 const int num_iter = NumberOfFrames(stack_size_log, class_id);
86 u8 *flags = GetFlags(stack_size_log, class_id);
88 uptr pos = ModuloNumberOfFrames(stack_size_log, class_id, hint_position++);
99 GetFrame(stack_size_log, class_id, pos));
101 *SavedFlagPtr(reinterpret_cast<uptr>(res), class_id) = &flags[pos];
112 uptr class_id = (ptr - beg) >> stack_size_log;
113 uptr base = beg + (class_id << stack_size_log);
116 uptr pos = (ptr - base) >> (kMinStackFrameSizeLog + class_id);
117 uptr res = base + pos * BytesInSizeClass(class_id);
118 *frame_end = res + BytesInSizeClass(class_id);
135 for (uptr class_id = 0; class_id < kNumberOfSizeClasses; class_id++) {
136 u8 *flags = GetFlags(stack_size_log(), class_id);
137 for (uptr i = 0, n = NumberOfFrames(stack_size_log(), class_id); i < n;
141 GetFrame(stack_size_log(), class_id, i));
152 for (uptr class_id = 0; class_id < kNumberOfSizeClasses; class_id++) {
153 u8 *flags = GetFlags(stack_size_log(), class_id);
154 for (uptr i = 0, n = NumberOfFrames(stack_size_log(), class_id); i < n;
158 GetFrame(stack_size_log(), class_id, i));
160 callback(begin, begin + FakeStack::BytesInSizeClass(class_id), arg);
193 ALWAYS_INLINE uptr OnMalloc(uptr class_id, uptr size, uptr real_stack) {
196 FakeFrame *ff = fs->Allocate(fs->stack_size_log(), class_id, real_stack);
200 SetShadow(ptr, size, class_id, 0);
204 ALWAYS_INLINE void OnFree(uptr ptr, uptr class_id, uptr size, uptr real_stack) {
207 FakeStack::Deallocate(ptr, class_id);
208 SetShadow(ptr, size, class_id, kMagic8);
215 #define DEFINE_STACK_MALLOC_FREE_WITH_CLASS_ID(class_id) \
217 __asan_stack_malloc_##class_id(uptr size, uptr real_stack) { \
218 return OnMalloc(class_id, size, real_stack); \
220 extern "C" SANITIZER_INTERFACE_ATTRIBUTE void __asan_stack_free_##class_id( \
222 OnFree(ptr, class_id, size, real_stack); \