LLDB mainline
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.

References lldb_private::TraceDumper::FunctionCall::FunctionCall(), m_first_insn_id, m_first_symbol_info, m_last_insn_id, m_last_symbol_info, and m_owning_call.

Referenced by operator=(), and TracedSegment().

◆ TracedSegment() [2/2]

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

References TracedSegment().

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.

References m_nested_call, and m_owning_call.

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.

References m_first_insn_id.

◆ 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.

References m_first_symbol_info.

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.

References m_last_insn_id.

◆ 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.

References m_last_symbol_info.

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.

References m_owning_call.

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.

References lldb_private::TraceDumper::FunctionCall::FunctionCall(), and m_nested_call.

◆ operator=()

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

References TracedSegment().

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.

Referenced by GetFirstInstructionID(), and TracedSegment().

◆ 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.

Referenced by GetFirstInstructionSymbolInfo(), and TracedSegment().

◆ 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(), GetLastInstructionID(), and TracedSegment().

◆ 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(), GetLastInstructionSymbolInfo(), and TracedSegment().

◆ 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.

Referenced by CreateNestedCall(), and IfNestedCall().

◆ m_owning_call

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

Definition at line 290 of file TraceDumper.h.

Referenced by CreateNestedCall(), GetOwningCall(), and TracedSegment().


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