Lines Matching refs:backtrace
132 auto const &backtrace = getCallerBacktrace(); in EmitLocation() local
133 syncScope(backtrace); in EmitLocation()
134 builder->SetCurrentDebugLocation(getLocation(backtrace, backtrace.size() - 1)); in EmitLocation()
137 emitPrintLocation(backtrace); in EmitLocation()
146 void DebugInfo::syncScope(Backtrace const &backtrace) in syncScope() argument
161 if(backtrace.size() < diScope.size()) in syncScope()
163 shrink(backtrace.size()); in syncScope()
170 auto const &newLocation = backtrace[i]; in syncScope()
196 while(backtrace.size() > diScope.size()) in syncScope()
199 auto location = backtrace[i]; in syncScope()
228 llvm::DILocation *DebugInfo::getLocation(const Backtrace &backtrace, size_t i) in getLocation() argument
230 if(backtrace.size() == 0) { return nullptr; } in getLocation()
231 assert(backtrace.size() == diScope.size()); in getLocation()
234 backtrace[i].line, in getLocation()
237 i > 0 ? getLocation(backtrace, i - 1) : diRootLocation); in getLocation()
242 auto const &backtrace = getCallerBacktrace(); in EmitVariable() local
243 syncScope(backtrace); in EmitVariable()
245 for(int i = backtrace.size() - 1; i >= 0; i--) in EmitVariable()
247 auto const &location = backtrace[i]; in EmitVariable()
292 scope.pending.diLocation = getLocation(backtrace, i); in EmitVariable()