[sanitizer] Extend a comment in SlowUnwind.

This better explains a change in r221520.

llvm-svn: 222000
This commit is contained in:
Evgeniy Stepanov 2014-11-14 15:13:23 +00:00
parent f59e548ba7
commit ceaebb8ebb
1 changed files with 6 additions and 1 deletions

View File

@ -115,7 +115,12 @@ void BufferedStackTrace::SlowUnwindStack(uptr pc, uptr max_depth) {
_Unwind_Backtrace(Unwind_Trace, &arg); _Unwind_Backtrace(Unwind_Trace, &arg);
// We need to pop a few frames so that pc is on top. // We need to pop a few frames so that pc is on top.
uptr to_pop = LocatePcInTrace(pc); uptr to_pop = LocatePcInTrace(pc);
// trace_buffer[0] belongs to the current function so we always pop it. // trace_buffer[0] belongs to the current function so we always pop it,
// unless there is only 1 frame in the stack trace (1 frame is always better
// than 0!).
// 1-frame stacks don't normally happen, but this depends on the actual
// unwinder implementation (libgcc, libunwind, etc) which is outside of our
// control.
if (to_pop == 0 && size > 1) if (to_pop == 0 && size > 1)
to_pop = 1; to_pop = 1;
PopStackFrames(to_pop); PopStackFrames(to_pop);