Home | History | Annotate | Download | only in sanitizer_common

Lines Matching full:stack

73     // PCs in stack traces are actually the return addresses, that is,
76 uptr addr_frames_num = 0; // The number of stack frames for current
137 if (stack_top < 4096) return; // Sanity check for stack top.
161 // On 32-bits we don't compress stack traces.
162 // On 64-bits we compress stack traces: if a given pc differes slightly from
165 uptr StackTrace::CompressStack(StackTrace *stack, u32 *compressed, uptr size) {
169 for (uptr i = 0; i < stack->size && i < size; i++) {
170 compressed[i] = stack->trace[i];
173 if (stack->size < size)
174 compressed[stack->size] = 0;
180 for (uptr i = 0, n = stack->size; i < n; i++) {
181 uptr pc = stack->trace[i];
218 // UncompressStack(CompressStack(stack)) eliminates the 0x0 frames.
220 CHECK_EQ(0, REAL(memcmp)(check_stack.trace, stack->trace,
228 void StackTrace::UncompressStack(StackTrace *stack,
232 stack->size = 0;
235 stack->size++;
236 stack->trace[i] = compressed[i];
240 stack->size = 0;
241 for (uptr i = 0; i < size && stack->size < kStackTraceMax; i++) {
261 // Printf("U pc[%zu] %zx\n", stack->size, pc);
262 stack->trace[stack->size++] = pc;