GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Functions | Variables
py-record-btrace.c File Reference
#include "defs.h"
#include "gdbcore.h"
#include "gdbcmd.h"
#include "gdbthread.h"
#include "btrace.h"
#include "py-record.h"
#include "py-record-btrace.h"
#include "record-btrace.h"
#include "disasm.h"
#include "gdbarch.h"

Go to the source code of this file.

Classes

struct  btpy_list_object
 

Functions

static const btrace_insnbtrace_insn_from_recpy_insn (const PyObject *const pyobject)
 
static const btrace_functionbtrace_func_from_recpy_func (const PyObject *const pyobject)
 
static PyObjectbtpy_insn_or_gap_new (thread_info *tinfo, Py_ssize_t number)
 
static PyObjectbtpy_list_new (thread_info *thread, Py_ssize_t first, Py_ssize_t last, Py_ssize_t step, PyTypeObject *element_type)
 
PyObjectrecpy_bt_insn_sal (PyObject *self, void *closure)
 
PyObjectrecpy_bt_insn_pc (PyObject *self, void *closure)
 
PyObjectrecpy_bt_insn_size (PyObject *self, void *closure)
 
PyObjectrecpy_bt_insn_is_speculative (PyObject *self, void *closure)
 
PyObjectrecpy_bt_insn_data (PyObject *self, void *closure)
 
PyObjectrecpy_bt_insn_decoded (PyObject *self, void *closure)
 
PyObjectrecpy_bt_func_level (PyObject *self, void *closure)
 
PyObjectrecpy_bt_func_symbol (PyObject *self, void *closure)
 
PyObjectrecpy_bt_func_instructions (PyObject *self, void *closure)
 
PyObjectrecpy_bt_func_up (PyObject *self, void *closure)
 
PyObjectrecpy_bt_func_prev (PyObject *self, void *closure)
 
PyObjectrecpy_bt_func_next (PyObject *self, void *closure)
 
static Py_ssize_t btpy_list_length (PyObject *self)
 
static PyObjectbtpy_list_item (PyObject *self, Py_ssize_t index)
 
static PyObjectbtpy_list_slice (PyObject *self, PyObject *value)
 
static LONGEST btpy_list_position (PyObject *self, PyObject *value)
 
static int btpy_list_contains (PyObject *self, PyObject *value)
 
static PyObjectbtpy_list_index (PyObject *self, PyObject *value)
 
static PyObjectbtpy_list_count (PyObject *self, PyObject *value)
 
static PyObjectbtpy_list_richcompare (PyObject *self, PyObject *other, int op)
 
PyObjectrecpy_bt_method (PyObject *self, void *closure)
 
PyObjectrecpy_bt_format (PyObject *self, void *closure)
 
PyObjectrecpy_bt_replay_position (PyObject *self, void *closure)
 
PyObjectrecpy_bt_begin (PyObject *self, void *closure)
 
PyObjectrecpy_bt_end (PyObject *self, void *closure)
 
PyObjectrecpy_bt_instruction_history (PyObject *self, void *closure)
 
PyObjectrecpy_bt_function_call_history (PyObject *self, void *closure)
 
PyObjectrecpy_bt_goto (PyObject *self, PyObject *args)
 
int gdbpy_initialize_btrace (void)
 

Variables

static PyTypeObject btpy_list_type
 
static PyMethodDef btpy_list_methods []
 
static PySequenceMethods btpy_list_sequence_methods
 
static PyMappingMethods btpy_list_mapping_methods
 

Function Documentation

◆ btpy_insn_or_gap_new()

static PyObject * btpy_insn_or_gap_new ( thread_info tinfo,
Py_ssize_t  number 
)
static

◆ btpy_list_contains()

static int btpy_list_contains ( PyObject self,
PyObject value 
)
static

Definition at line 527 of file py-record-btrace.c.

References btpy_list_position().

Referenced by btpy_list_count(), and gdbpy_initialize_btrace().

◆ btpy_list_count()

static PyObject * btpy_list_count ( PyObject self,
PyObject value 
)
static

Definition at line 551 of file py-record-btrace.c.

References btpy_list_contains(), and gdb_py_object_from_longest().

◆ btpy_list_index()

static PyObject * btpy_list_index ( PyObject self,
PyObject value 
)
static

Definition at line 538 of file py-record-btrace.c.

References btpy_list_position(), and gdb_py_object_from_longest().

◆ btpy_list_item()

static PyObject * btpy_list_item ( PyObject self,
Py_ssize_t  index 
)
static

◆ btpy_list_length()

static Py_ssize_t btpy_list_length ( PyObject self)
static

◆ btpy_list_new()

static PyObject * btpy_list_new ( thread_info thread,
Py_ssize_t  first,
Py_ssize_t  last,
Py_ssize_t  step,
PyTypeObject *  element_type 
)
static

◆ btpy_list_position()

static LONGEST btpy_list_position ( PyObject self,
PyObject value 
)
static

◆ btpy_list_richcompare()

static PyObject * btpy_list_richcompare ( PyObject self,
PyObject other,
int  op 
)
static

◆ btpy_list_slice()

static PyObject * btpy_list_slice ( PyObject self,
PyObject value 
)
static

◆ btrace_func_from_recpy_func()

static const btrace_function * btrace_func_from_recpy_func ( const PyObject *const  pyobject)
static

◆ btrace_insn_from_recpy_insn()

static const btrace_insn * btrace_insn_from_recpy_insn ( const PyObject *const  pyobject)
static

◆ gdbpy_initialize_btrace()

int gdbpy_initialize_btrace ( void  )

◆ recpy_bt_begin()

PyObject * recpy_bt_begin ( PyObject self,
void *  closure 
)

◆ recpy_bt_end()

PyObject * recpy_bt_end ( PyObject self,
void *  closure 
)

◆ recpy_bt_format()

PyObject * recpy_bt_format ( PyObject self,
void *  closure 
)

Definition at line 617 of file py-record-btrace.c.

References btrace_conf().

Referenced by recpy_format().

◆ recpy_bt_func_instructions()

PyObject * recpy_bt_func_instructions ( PyObject self,
void *  closure 
)

◆ recpy_bt_func_level()

PyObject * recpy_bt_func_level ( PyObject self,
void *  closure 
)

Definition at line 321 of file py-record-btrace.c.

References btrace_func_from_recpy_func(), func, and gdb_py_object_from_longest().

Referenced by recpy_func_level().

◆ recpy_bt_func_next()

PyObject * recpy_bt_func_next ( PyObject self,
void *  closure 
)

◆ recpy_bt_func_prev()

PyObject * recpy_bt_func_prev ( PyObject self,
void *  closure 
)

◆ recpy_bt_func_symbol()

PyObject * recpy_bt_func_symbol ( PyObject self,
void *  closure 
)

Definition at line 338 of file py-record-btrace.c.

References btrace_func_from_recpy_func(), func, and symbol_to_symbol_object().

Referenced by recpy_func_symbol().

◆ recpy_bt_func_up()

PyObject * recpy_bt_func_up ( PyObject self,
void *  closure 
)

Definition at line 378 of file py-record-btrace.c.

References btrace_func_from_recpy_func(), func, RECORD_METHOD_BTRACE, and recpy_func_new().

Referenced by recpy_func_up().

◆ recpy_bt_function_call_history()

PyObject * recpy_bt_function_call_history ( PyObject self,
void *  closure 
)

◆ recpy_bt_goto()

PyObject * recpy_bt_goto ( PyObject self,
PyObject args 
)

◆ recpy_bt_insn_data()

PyObject * recpy_bt_insn_data ( PyObject self,
void *  closure 
)

◆ recpy_bt_insn_decoded()

PyObject * recpy_bt_insn_decoded ( PyObject self,
void *  closure 
)

◆ recpy_bt_insn_is_speculative()

PyObject * recpy_bt_insn_is_speculative ( PyObject self,
void *  closure 
)

◆ recpy_bt_insn_pc()

PyObject * recpy_bt_insn_pc ( PyObject self,
void *  closure 
)

◆ recpy_bt_insn_sal()

PyObject * recpy_bt_insn_sal ( PyObject self,
void *  closure 
)

◆ recpy_bt_insn_size()

PyObject * recpy_bt_insn_size ( PyObject self,
void *  closure 
)

◆ recpy_bt_instruction_history()

PyObject * recpy_bt_instruction_history ( PyObject self,
void *  closure 
)

◆ recpy_bt_method()

PyObject * recpy_bt_method ( PyObject self,
void *  closure 
)

Definition at line 608 of file py-record-btrace.c.

Referenced by recpy_method().

◆ recpy_bt_replay_position()

PyObject * recpy_bt_replay_position ( PyObject self,
void *  closure 
)

Definition at line 638 of file py-record-btrace.c.

References btpy_insn_or_gap_new(), and btrace_insn_number().

Referenced by recpy_replay_position().

Variable Documentation

◆ btpy_list_mapping_methods

PyMappingMethods btpy_list_mapping_methods
static
Initial value:
=
{
NULL
}

Definition at line 812 of file py-record-btrace.c.

Referenced by gdbpy_initialize_btrace().

◆ btpy_list_methods

PyMethodDef btpy_list_methods[]
static
Initial value:
=
{
{ "count", btpy_list_count, METH_O, "count number of occurrences"},
{ "index", btpy_list_index, METH_O, "index of entry"},
{NULL}
}
static PyObject * btpy_list_index(PyObject *self, PyObject *value)
static PyObject * btpy_list_count(PyObject *self, PyObject *value)

Definition at line 796 of file py-record-btrace.c.

Referenced by gdbpy_initialize_btrace().

◆ btpy_list_sequence_methods

PySequenceMethods btpy_list_sequence_methods
static
Initial value:
=
{
NULL
}

Definition at line 805 of file py-record-btrace.c.

Referenced by gdbpy_initialize_btrace().

◆ btpy_list_type

PyTypeObject btpy_list_type
static
Initial value:
= {
PyVarObject_HEAD_INIT (NULL, 0)
}

Definition at line 54 of file py-record-btrace.c.

Referenced by btpy_list_new(), and gdbpy_initialize_btrace().