Lines Matching refs:backtrace
139 auto const &backtrace = getCallerBacktrace(); in EmitLocation() local
140 syncScope(backtrace); in EmitLocation()
141 builder->SetCurrentDebugLocation(getLocation(backtrace, backtrace.size() - 1)); in EmitLocation()
142 emitPrintLocation(backtrace); in EmitLocation()
153 void DebugInfo::syncScope(Backtrace const &backtrace) in syncScope() argument
170 if(backtrace.size() < diScope.size()) in syncScope()
172 shrink(backtrace.size()); in syncScope()
179 auto const &newLocation = backtrace[i]; in syncScope()
205 while(backtrace.size() > diScope.size()) in syncScope()
208 auto location = backtrace[i]; in syncScope()
235 llvm::DILocation *DebugInfo::getLocation(const Backtrace &backtrace, size_t i) in getLocation() argument
237 if(backtrace.size() == 0) { return nullptr; } in getLocation()
238 assert(backtrace.size() == diScope.size()); in getLocation()
241 backtrace[i].line, in getLocation()
244 i > 0 ? getLocation(backtrace, i - 1) : diRootLocation); in getLocation()
249 auto const &backtrace = getCallerBacktrace(); in EmitVariable() local
250 syncScope(backtrace); in EmitVariable()
252 for(int i = backtrace.size() - 1; i >= 0; i--) in EmitVariable()
254 auto const &location = backtrace[i]; in EmitVariable()
299 scope.pending.diLocation = getLocation(backtrace, i); in EmitVariable()
445 auto backtrace = getCallerBacktrace(1); in getCallerLocation() local
446 return backtrace.empty() ? Location{} : backtrace[0]; in getCallerLocation()