LLDB  mainline
Classes | Namespaces | Functions
LibiptDecoder.h File Reference
#include "DecodedThread.h"
#include "PerfContextSwitchDecoder.h"
#include "forward-declarations.h"
#include "intel-pt.h"
Include dependency graph for LibiptDecoder.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  lldb_private::trace_intel_pt::PSBBlock
 This struct represents a contiguous section of a trace that starts at a PSB and ends right before the next PSB or the end of the trace. More...
struct  lldb_private::trace_intel_pt::IntelPTThreadContinousExecution
 This struct represents a continuous execution of a thread in a cpu, delimited by a context switch in and out, and a list of Intel PT subtraces that belong to this execution. More...


 A class that represents a running process on the host machine.


llvm::Error lldb_private::trace_intel_pt::DecodeSingleTraceForThread (DecodedThread &decoded_thread, TraceIntelPT &trace_intel_pt, llvm::ArrayRef< uint8_t > buffer)
 Decode a raw Intel PT trace for a single thread given in buffer and append the decoded instructions and errors in decoded_thread. More...
llvm::Error lldb_private::trace_intel_pt::DecodeSystemWideTraceForThread (DecodedThread &decoded_thread, TraceIntelPT &trace_intel_pt, const llvm::DenseMap< lldb::cpu_id_t, llvm::ArrayRef< uint8_t >> &buffers, const std::vector< IntelPTThreadContinousExecution > &executions)
 Decode a raw Intel PT trace for a single thread that was collected in a per cpu core basis. More...
llvm::Expected< std::vector< PSBBlock > > lldb_private::trace_intel_pt::SplitTraceIntoPSBBlock (TraceIntelPT &trace_intel_pt, llvm::ArrayRef< uint8_t > buffer, bool expect_tscs)
 Given an intel pt trace, split it in chunks delimited by PSB packets. More...
llvm::Expected< llvm::Optional< uint64_t > > lldb_private::trace_intel_pt::FindLowestTSCInTrace (TraceIntelPT &trace_intel_pt, llvm::ArrayRef< uint8_t > buffer)
 Find the lowest TSC in the given trace. More...