GDB (xrefs)

Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
pv_area Class Reference

`#include "prologue-value.h"`

## Classes
struct | area_entry

## Public Member Functions
| pv_area (int base_reg, int addr_bit)
| ~pv_area ()
| DISABLE_COPY_AND_ASSIGN (pv_area)
void | store (pv_t addr, CORE_ADDR size, pv_t value)
pv_t | fetch (pv_t addr, CORE_ADDR size)
bool | store_would_trash (pv_t addr)
bool | find_reg (struct gdbarch *gdbarch, int reg, CORE_ADDR *offset_p)
void | scan (void(*func)(void *closure, pv_t addr, CORE_ADDR size, pv_t value), void *closure)

## Private Member Functions
void | clear_entries ()
struct area_entry * | find_entry (CORE_ADDR offset)
int | overlaps (struct area_entry *entry, CORE_ADDR offset, CORE_ADDR size)

## Private Attributes
int | m_base_reg
CORE_ADDR | m_addr_mask
struct area_entry * | m_entry

## Detailed Description

Definition at line 226 of file prologue-value.h.

## Constructor & Destructor Documentation

## ◆ pv_area()

pv_area::pv_area | ( | int | base_reg,
|  | int | addr_bit
| ) |  |

Definition at line 301 of file prologue-value.c.

## ◆ ~pv_area()

pv_area::~pv_area | ( |  | ) |

Definition at line 336 of file prologue-value.c.

References clear_entries().

## Member Function Documentation

## ◆ clear_entries()

void pv_area::clear_entries | ( |  | ) |
| private

Definition at line 313 of file prologue-value.c.

References m_entry, pv_area::area_entry::next, and xfree().

Referenced by store(), and ~pv_area().

## ◆ DISABLE_COPY_AND_ASSIGN()

pv_area::DISABLE_COPY_AND_ASSIGN | ( | pv_area |  | ) |

## ◆ fetch()

pv_t pv_area::fetch | ( | pv_t | addr,
|  | CORE_ADDR | size
| ) |  |

Definition at line 471 of file prologue-value.c.

References find_entry(), prologue_value::k, m_entry, offset, pv_area::area_entry::offset, pv_unknown(), size, pv_area::area_entry::size, store_would_trash(), and pv_area::area_entry::value.

Referenced by m32c_srcdest_fetch(), mep_analyze_prologue(), and s390_load().

## ◆ find_entry()

struct pv_area::area_entry * pv_area::find_entry | ( | CORE_ADDR | offset | ) |
| private

Definition at line 361 of file prologue-value.c.

References m_addr_mask, m_entry, pv_area::area_entry::next, offset, pv_area::area_entry::offset, and pv_area::area_entry::prev.

Referenced by fetch(), and store().

## ◆ find_reg()

bool pv_area::find_reg | ( | struct gdbarch * | gdbarch,
|  | int | reg,
|  | CORE_ADDR * | offset_p
| ) |  |

Definition at line 496 of file prologue-value.c.

References prologue_value::k, prologue_value::kind, m_entry, pv_area::area_entry::next, pv_area::area_entry::offset, pvk_register, prologue_value::reg, register_size(), pv_area::area_entry::size, and pv_area::area_entry::value.

Referenced by aarch64_analyze_prologue(), arc_analyze_prologue(), arm_analyze_prologue(), is_arg_spill(), m32c_is_arg_spill(), m32c_is_struct_return(), and thumb_analyze_prologue().

## ◆ overlaps()

int pv_area::overlaps | ( | struct area_entry * | entry,
|  | CORE_ADDR | offset,
|  | CORE_ADDR | size
| ) |  |
| private

Definition at line 398 of file prologue-value.c.

References m_addr_mask, offset, pv_area::area_entry::offset, size, and pv_area::area_entry::size.

Referenced by store().

## ◆ scan()

void pv_area::scan | ( | void(*)(void *closure, pv_t addr, CORE_ADDR size, pv_t value) | func,
|  | void * | closure
| ) |  |

Definition at line 524 of file prologue-value.c.

References func, prologue_value::k, prologue_value::kind, m_base_reg, m_entry, pv_area::area_entry::next, pv_area::area_entry::offset, pvk_register, prologue_value::reg, pv_area::area_entry::size, and pv_area::area_entry::value.

Referenced by m32c_analyze_prologue(), mep_analyze_prologue(), mn10300_analyze_prologue(), msp430_analyze_prologue(), rl78_analyze_prologue(), rx_analyze_prologue(), and s390_analyze_prologue().

## ◆ store()

void pv_area::store | ( | pv_t | addr,
|  | CORE_ADDR | size,
|  | pv_t | value
| ) |  |

Definition at line 409 of file prologue-value.c.

References clear_entries(), find_entry(), prologue_value::k, m_entry, pv_area::area_entry::next, offset, pv_area::area_entry::offset, overlaps(), pv_area::area_entry::prev, pvk_unknown, size, pv_area::area_entry::size, store_would_trash(), pv_area::area_entry::value, xfree(), and XNEW.

Referenced by aarch64_analyze_prologue(), arc_is_in_prologue(), arm_analyze_prologue(), BP_MANIPULATION(), m32c_pv_push(), m32c_srcdest_store(), mep_analyze_prologue(), mn10300_analyze_prologue(), msp430_analyze_prologue(), rl78_analyze_prologue(), rx_analyze_prologue(), s390_store(), and thumb_analyze_prologue().

## ◆ store_would_trash()

bool pv_area::store_would_trash | ( | pv_t | addr | ) |

Definition at line 345 of file prologue-value.c.

References prologue_value::kind, m_base_reg, pvk_constant, pvk_register, pvk_unknown, and prologue_value::reg.

Referenced by aarch64_analyze_prologue(), arc_is_in_prologue(), arm_analyze_prologue(), fetch(), m32c_pv_enter(), m32c_pv_push(), m32c_srcdest_store(), mep_analyze_prologue(), s390_store(), store(), and thumb_analyze_prologue().

## Member Data Documentation

## ◆ m_addr_mask

CORE_ADDR pv_area::m_addr_mask
| private

Definition at line 323 of file prologue-value.h.

Referenced by find_entry(), and overlaps().

## ◆ m_base_reg

int pv_area::m_base_reg
| private

Definition at line 319 of file prologue-value.h.

Referenced by scan(), and store_would_trash().

## ◆ m_entry

struct area_entry* pv_area::m_entry
| private

Definition at line 327 of file prologue-value.h.

Referenced by clear_entries(), fetch(), find_entry(), find_reg(), scan(), and store().

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

- /tmp/gdb-8.1/gdb/prologue-value.h
- /tmp/gdb-8.1/gdb/prologue-value.c