void recordGdbTranslation(SrcKey sk, const Func* srcFunc, const CodeBlock& cb, const TCA start, bool exit, bool inPrologue) { if (start != cb.frontier()) { assertOwnsCodeLock(); if (!RuntimeOption::EvalJitNoGdb) { Debug::DebugInfo::Get()->recordTracelet( rangeFrom(cb, start, &cb == &code().cold()), srcFunc, srcFunc->unit() ? srcFunc->unit()->at(sk.offset()) : nullptr, exit, inPrologue ); } if (RuntimeOption::EvalPerfPidMap) { Debug::DebugInfo::Get()->recordPerfMap( rangeFrom(cb, start, &cb == &code().cold()), sk, srcFunc, exit, inPrologue ); } } }
Debug::SourceLocation CharacterReader::locationWithRangeFrom(const Debug::SourcePosition start) const { const auto range = rangeFrom(start); return Debug::SourceLocation(source_.fileName(), range); }