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)
 
static int CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION gdbpy_initialize_btrace (void)
 
 GDBPY_INITIALIZE_FILE (gdbpy_initialize_btrace)
 

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 526 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 550 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 537 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()

static int CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION gdbpy_initialize_btrace ( void )
static

◆ GDBPY_INITIALIZE_FILE()

GDBPY_INITIALIZE_FILE ( gdbpy_initialize_btrace )

◆ 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 616 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 320 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 337 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 377 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 607 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 637 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 811 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 795 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 804 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().