LLDB mainline
Public Member Functions | Private Member Functions | Private Attributes | List of all members
lldb_private::TraceDumper::FunctionCall::TracedSegment Class Reference

#include <TraceDumper.h>

Public Member Functions

 TracedSegment (const lldb::TraceCursorSP &cursor_sp, const SymbolInfo &symbol_info, FunctionCall &owning_call)
 
lldb::user_id_t GetFirstInstructionID () const
 
lldb::user_id_t GetLastInstructionID () const
 
const SymbolInfoGetFirstInstructionSymbolInfo () const
 
const SymbolInfoGetLastInstructionSymbolInfo () const
 
const FunctionCallGetOwningCall () const
 
void AppendInsn (const lldb::TraceCursorSP &cursor_sp, const SymbolInfo &symbol_info)
 Append a new instruction to this segment.
 
FunctionCallCreateNestedCall (const lldb::TraceCursorSP &cursor_sp, const SymbolInfo &symbol_info)
 Create a nested call at the end of this segment.
 
void IfNestedCall (std::function< void(const FunctionCall &function_call)> callback) const
 Executed the given callback if there's a nested call at the end of this segment.
 

Private Member Functions

 TracedSegment (const TracedSegment &)=delete
 
TracedSegmentoperator= (TracedSegment const &)
 

Private Attributes

FunctionCallUP m_nested_call
 An optional nested call starting at the end of this segment.
 
FunctionCallm_owning_call
 
lldb::user_id_t m_first_insn_id
 Delimiting instruction IDs taken chronologically.
 
lldb::user_id_t m_last_insn_id
 
SymbolInfo m_first_symbol_info
 The symbol information of the delimiting instructions.
 
SymbolInfo m_last_symbol_info
 

Detailed Description

Definition at line 211 of file TraceDumper.h.

Constructor & Destructor Documentation

◆ TracedSegment() [1/2]

lldb_private::TraceDumper::FunctionCall::TracedSegment::TracedSegment ( const lldb::TraceCursorSP cursor_sp,
const SymbolInfo symbol_info,
FunctionCall owning_call 
)
inline
Parameters
[in]cursor_spA cursor pointing to the beginning of the segment.
[in]symbol_infoThe symbol information of the first instruction of the segment.
[in]callThe FunctionCall object that owns this segment.

Definition at line 221 of file TraceDumper.h.

◆ TracedSegment() [2/2]

lldb_private::TraceDumper::FunctionCall::TracedSegment::TracedSegment ( const TracedSegment )
privatedelete

Member Function Documentation

◆ AppendInsn()

void TraceDumper::FunctionCall::TracedSegment::AppendInsn ( const lldb::TraceCursorSP cursor_sp,
const SymbolInfo symbol_info 
)

Append a new instruction to this segment.

Parameters
[in]cursor_spA cursor pointing to the new instruction.
[in]symbol_infoThe symbol information of the new instruction.

Definition at line 590 of file TraceDumper.cpp.

References m_last_insn_id, and m_last_symbol_info.

Referenced by AppendErrorToFunctionCallForest(), and AppendInstructionToFunctionCallForest().

◆ CreateNestedCall()

TraceDumper::FunctionCall & TraceDumper::FunctionCall::TracedSegment::CreateNestedCall ( const lldb::TraceCursorSP cursor_sp,
const SymbolInfo symbol_info 
)

Create a nested call at the end of this segment.

Parameters
[in]cursor_spA cursor pointing to the first instruction of the nested call.
[in]symbol_infoThe symbol information of the first instruction of the nested call.

Definition at line 619 of file TraceDumper.cpp.

Referenced by AppendInstructionToFunctionCallForest().

◆ GetFirstInstructionID()

lldb::user_id_t TraceDumper::FunctionCall::TracedSegment::GetFirstInstructionID ( ) const
Returns
The chronologically first instruction ID in this segment.

Definition at line 598 of file TraceDumper.cpp.

◆ GetFirstInstructionSymbolInfo()

const TraceDumper::SymbolInfo & TraceDumper::FunctionCall::TracedSegment::GetFirstInstructionSymbolInfo ( ) const
Returns
The symbol information of the chronologically first instruction ID in this segment.

Definition at line 628 of file TraceDumper.cpp.

Referenced by OutputWriterCLI::DumpSegmentContext().

◆ GetLastInstructionID()

lldb::user_id_t TraceDumper::FunctionCall::TracedSegment::GetLastInstructionID ( ) const
Returns
The chronologically last instruction ID in this segment.

Definition at line 603 of file TraceDumper.cpp.

◆ GetLastInstructionSymbolInfo()

const TraceDumper::SymbolInfo & TraceDumper::FunctionCall::TracedSegment::GetLastInstructionSymbolInfo ( ) const
Returns
The symbol information of the chronologically last instruction ID in this segment.

Definition at line 634 of file TraceDumper.cpp.

Referenced by AppendInstructionToFunctionCallForest(), and OutputWriterCLI::DumpSegmentContext().

◆ GetOwningCall()

const TraceDumper::FunctionCall & TraceDumper::FunctionCall::TracedSegment::GetOwningCall ( ) const
Returns
Get the call that owns this segment.

Definition at line 614 of file TraceDumper.cpp.

Referenced by OutputWriterCLI::DumpSegmentContext().

◆ IfNestedCall()

void TraceDumper::FunctionCall::TracedSegment::IfNestedCall ( std::function< void(const FunctionCall &function_call)>  callback) const

Executed the given callback if there's a nested call at the end of this segment.

Definition at line 607 of file TraceDumper.cpp.

◆ operator=()

TracedSegment & lldb_private::TraceDumper::FunctionCall::TracedSegment::operator= ( TracedSegment const &  )
private

Member Data Documentation

◆ m_first_insn_id

lldb::user_id_t lldb_private::TraceDumper::FunctionCall::TracedSegment::m_first_insn_id
private

Delimiting instruction IDs taken chronologically.

Definition at line 280 of file TraceDumper.h.

◆ m_first_symbol_info

SymbolInfo lldb_private::TraceDumper::FunctionCall::TracedSegment::m_first_symbol_info
private

The symbol information of the delimiting instructions.

Definition at line 287 of file TraceDumper.h.

◆ m_last_insn_id

lldb::user_id_t lldb_private::TraceDumper::FunctionCall::TracedSegment::m_last_insn_id
private

Definition at line 281 of file TraceDumper.h.

Referenced by AppendInsn().

◆ m_last_symbol_info

SymbolInfo lldb_private::TraceDumper::FunctionCall::TracedSegment::m_last_symbol_info
private

Definition at line 288 of file TraceDumper.h.

Referenced by AppendInsn().

◆ m_nested_call

FunctionCallUP lldb_private::TraceDumper::FunctionCall::TracedSegment::m_nested_call
private

An optional nested call starting at the end of this segment.

Definition at line 284 of file TraceDumper.h.

◆ m_owning_call

FunctionCall& lldb_private::TraceDumper::FunctionCall::TracedSegment::m_owning_call
private

Definition at line 290 of file TraceDumper.h.


The documentation for this class was generated from the following files: