Lines Matching refs:Binary
99 if (!isValidFallThroughRange(Binary->virtualAddrToOffset(Target), in unwindLinear()
100 Binary->virtualAddrToOffset(End), Binary)) { in unwindLinear()
106 if (Binary->usePseudoProbes()) { in unwindLinear()
132 bool SameInlinee = Binary->inlineContextEqual(PrevIP, IP.Address); in unwindLinear()
149 uint64_t CallAddr = Binary->getCallAddrFromFrameAddr(LBR.Target); in unwindReturn()
166 KeyStr->Context = Binary->getExpandedContext(Stack, KeyStr->WasLeafInlined); in getContextKey()
190 uint64_t StartOffset = Binary->virtualAddrToOffset(std::get<0>(Item)); in collectSamplesFromFrame()
191 uint64_t EndOffset = Binary->virtualAddrToOffset(std::get<1>(Item)); in collectSamplesFromFrame()
196 uint64_t SourceOffset = Binary->virtualAddrToOffset(std::get<0>(Item)); in collectSamplesFromFrame()
197 uint64_t TargetOffset = Binary->virtualAddrToOffset(std::get<1>(Item)); in collectSamplesFromFrame()
211 T EmptyStack(Binary); in collectSamplesFromFrameTrie()
237 if (Binary->usePseudoProbes()) { in collectSamplesFromFrameTrie()
238 AddressStack Stack(Binary); in collectSamplesFromFrameTrie()
241 FrameStack Stack(Binary); in collectSamplesFromFrameTrie()
259 if (Binary->usePseudoProbes()) { in recordBranchCount()
272 UnwindState State(Sample, Binary); in unwind()
328 PerfReaderBase::create(ProfiledBinary *Binary, PerfInputFile &PerfInput, in create() argument
334 new UnsymbolizedProfileReader(Binary, PerfInput.InputFile)); in create()
341 PerfScriptReader::convertPerfDataToTrace(Binary, PerfInput, PIDFilter); in create()
350 new HybridPerfReader(Binary, PerfInput.InputFile, PIDFilter)); in create()
352 PerfReader.reset(new LBRPerfReader(Binary, PerfInput.InputFile, PIDFilter)); in create()
361 ProfiledBinary *Binary, PerfInputFile &File, Optional<uint32_t> PIDFilter) { in convertPerfDataToTrace() argument
385 extractMMap2EventForBinary(Binary, TraceIt.getCurrentLine(), MMap)) { in convertPerfDataToTrace()
413 if (Binary->getName() != BinaryName) in updateBinaryAddress()
421 if (Event.Address == Binary->getBaseAddress()) { in updateBinaryAddress()
422 Binary->setIsLoadedByMMap(true); in updateBinaryAddress()
426 if (Event.Offset == Binary->getTextSegmentOffset()) { in updateBinaryAddress()
432 Binary->setBaseAddress(Event.Address); in updateBinaryAddress()
433 Binary->setIsLoadedByMMap(true); in updateBinaryAddress()
436 const auto &Offsets = Binary->getTextSegmentOffsets(); in updateBinaryAddress()
441 const auto &PreferredAddrs = Binary->getPreferredTextSegmentAddresses(); in updateBinaryAddress()
442 if (PreferredAddrs[I] - Binary->getPreferredBaseAddress() != in updateBinaryAddress()
443 Event.Address - Binary->getBaseAddress()) in updateBinaryAddress()
453 if (Event.Offset - *It != Event.Address - Binary->getBaseAddress()) in updateBinaryAddress()
461 const ProfiledBinary *Binary) { in getContextKeyStr() argument
471 Binary->virtualAddrToOffset(CtxKey->Context[I]), in getContextKeyStr()
481 if (Binary->useFSDiscriminator()) in unwindSamples()
483 VirtualUnwinder Unwinder(&SampleCounters, Binary); in unwindSamples()
572 bool SrcIsInternal = Binary->addressIsCode(Src); in extractLBRStack()
573 bool DstIsInternal = Binary->addressIsCode(Dst); in extractLBRStack()
608 if (!Binary->addressIsCode(FrameAddr)) { in extractCallstack()
622 auto CallAddr = Binary->getCallAddrFromFrameAddr(FrameAddr); in extractCallstack()
655 !Binary->addressInPrologEpilog(CallStack.front()); in extractCallstack()
659 if (!Binary->getMissingMMapWarned() && !Binary->getIsLoadedByMMap()) { in warnIfMissingMMap()
661 << Binary->getName() in warnIfMissingMMap()
664 Binary->getPreferredBaseAddress()) in warnIfMissingMMap()
667 Binary->setMissingMMapWarned(true); in warnIfMissingMMap()
728 OrderedCounters[getContextKeyStr(CI.first.getPtr(), Binary)] = &CI.second; in writeUnsymbolizedProfile()
740 Start = Binary->offsetToVirtualAddr(Start); in writeUnsymbolizedProfile()
741 End = Binary->offsetToVirtualAddr(End); in writeUnsymbolizedProfile()
745 Start -= Binary->getFirstLoadableAddress(); in writeUnsymbolizedProfile()
746 End -= Binary->getFirstLoadableAddress(); in writeUnsymbolizedProfile()
821 BaseAddr = Binary->getFirstLoadableAddress(); in readSampleCounters()
823 Source = Binary->virtualAddrToOffset(Source + BaseAddr); in readSampleCounters()
824 Target = Binary->virtualAddrToOffset(Target + BaseAddr); in readSampleCounters()
864 uint64_t SourceOffset = Binary->virtualAddrToOffset(LBR.Source); in computeCounterFromLBR()
865 uint64_t TargetOffset = Binary->virtualAddrToOffset(LBR.Target); in computeCounterFromLBR()
870 if (Binary->offsetIsCode(TargetOffset)) { in computeCounterFromLBR()
877 if (Binary->offsetIsCode(StartOffset) && Binary->offsetIsCode(EndOffeset) && in computeCounterFromLBR()
878 isValidFallThroughRange(StartOffset, EndOffeset, Binary)) in computeCounterFromLBR()
924 bool PerfScriptReader::extractMMap2EventForBinary(ProfiledBinary *Binary, in extractMMap2EventForBinary() argument
967 return Binary->getName() == BinaryName; in extractMMap2EventForBinary()
972 if (extractMMap2EventForBinary(Binary, TraceIt.getCurrentLine(), MMap)) in parseMMap2Event()
1092 uint64_t SourceOffset = Binary->virtualAddrToOffset(LBR.Source); in warnInvalidRange()
1093 uint64_t StartOffset = Binary->virtualAddrToOffset(LBR.Target); in warnInvalidRange()
1111 << format("%8" PRIx64, Binary->offsetToVirtualAddr(StartOffset)) in warnInvalidRange()
1113 << format("%8" PRIx64, Binary->offsetToVirtualAddr(EndOffset)) in warnInvalidRange()
1137 if (!Binary->offsetIsCode(StartOffset) || in warnInvalidRange()
1138 !Binary->offsetIsTransfer(EndOffset)) { in warnInvalidRange()
1143 auto *FRange = Binary->findFuncRangeForOffset(StartOffset); in warnInvalidRange()
1155 if (!isValidFallThroughRange(StartOffset, EndOffset, Binary)) { in warnInvalidRange()