[NFC] Simplify BufferedStackTrace::UnwindImpl
llvm-svn: 355381
This commit is contained in:
		
							parent
							
								
									1ac22bfef0
								
							
						
					
					
						commit
						816e7b43dc
					
				| 
						 | 
				
			
			@ -59,31 +59,22 @@ void __sanitizer::BufferedStackTrace::UnwindImpl(
 | 
			
		|||
  size = 0;
 | 
			
		||||
  if (UNLIKELY(!asan_inited))
 | 
			
		||||
    return;
 | 
			
		||||
#if SANITIZER_WINDOWS
 | 
			
		||||
  Unwind(max_depth, pc, bp, context, 0, 0, false);
 | 
			
		||||
#else
 | 
			
		||||
  request_fast = StackTrace::WillUseFastUnwind(request_fast);
 | 
			
		||||
  AsanThread *t = GetCurrentThread();
 | 
			
		||||
  ScopedUnwinding unwind_scope(t);
 | 
			
		||||
  if (!unwind_scope.CanUnwind())
 | 
			
		||||
    return;
 | 
			
		||||
  if (!t) {
 | 
			
		||||
    if (!request_fast) {
 | 
			
		||||
      /* If GetCurrentThread() has failed, try to do slow unwind anyways. */
 | 
			
		||||
      Unwind(max_depth, pc, bp, context, 0, 0, false);
 | 
			
		||||
  if (request_fast) {
 | 
			
		||||
    if (t) {
 | 
			
		||||
      Unwind(max_depth, pc, bp, nullptr, t->stack_top(), t->stack_bottom(),
 | 
			
		||||
             true);
 | 
			
		||||
    }
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  uptr stack_top = t->stack_top();
 | 
			
		||||
  uptr stack_bottom = t->stack_bottom();
 | 
			
		||||
 | 
			
		||||
  if (SANITIZER_MIPS && !IsValidFrame(bp, stack_top, stack_bottom))
 | 
			
		||||
  if (SANITIZER_MIPS && t &&
 | 
			
		||||
      !IsValidFrame(bp, t->stack_top(), t->stack_bottom()))
 | 
			
		||||
    return;
 | 
			
		||||
  if (StackTrace::WillUseFastUnwind(request_fast))
 | 
			
		||||
    Unwind(max_depth, pc, bp, nullptr, stack_top, stack_bottom, true);
 | 
			
		||||
  else
 | 
			
		||||
  Unwind(max_depth, pc, bp, context, 0, 0, false);
 | 
			
		||||
#endif // SANITIZER_WINDOWS
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ------------------ Interface -------------- {{{1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue