const struct symtab_and_line &sal)
{
int i;
- int offset = horizontal_offset;
+ int offset = m_horizontal_offset;
int max_lines, line_width;
CORE_ADDR cur_pc;
struct tui_locator_window *locator = tui_locator_win_info_ptr ();
if (pc == 0)
return false;
- gdbarch = arch;
- start_line_or_addr.loa = LOA_ADDRESS;
- start_line_or_addr.u.addr = pc;
+ m_gdbarch = arch;
+ m_start_line_or_addr.loa = LOA_ADDRESS;
+ m_start_line_or_addr.u.addr = pc;
cur_pc = locator->addr;
/* Window size, excluding highlight box. */
/* Get temporary table that will hold all strings (addr & insn). */
std::vector<tui_asm_line> asm_lines;
size_t addr_size = 0;
- tui_disassemble (gdbarch, asm_lines, pc, max_lines, &addr_size);
+ tui_disassemble (m_gdbarch, asm_lines, pc, max_lines, &addr_size);
/* Align instructions to the same column. */
insn_pos = (1 + (addr_size / tab_len)) * tab_len;
/* Now construct each line. */
- content.resize (max_lines);
+ m_content.resize (max_lines);
for (i = 0; i < max_lines; i++)
{
- tui_source_element *src = &content[i];
+ tui_source_element *src = &m_content[i];
std::string line;
CORE_ADDR addr;
/* Determine where to start the disassembly so that the pc is about
in the middle of the viewport. */
- if (tui_win_list[DISASSEM_WIN] != NULL)
- pos = tui_win_list[DISASSEM_WIN]->height;
+ if (TUI_DISASM_WIN != NULL)
+ pos = TUI_DISASM_WIN->height;
else if (TUI_CMD_WIN == NULL)
pos = tui_term_height () / 2 - 2;
else
void
tui_disasm_window::do_scroll_vertical (int num_to_scroll)
{
- if (!content.empty ())
+ if (!m_content.empty ())
{
CORE_ADDR pc;
- pc = start_line_or_addr.u.addr;
+ pc = m_start_line_or_addr.u.addr;
symtab_and_line sal {};
sal.pspace = current_program_space;
- sal.pc = tui_find_disassembly_address (gdbarch, pc, num_to_scroll);
- update_source_window_as_is (gdbarch, sal);
+ sal.pc = tui_find_disassembly_address (m_gdbarch, pc, num_to_scroll);
+ update_source_window_as_is (m_gdbarch, sal);
}
}
bool
tui_disasm_window::location_matches_p (struct bp_location *loc, int line_no)
{
- return (content[line_no].line_or_addr.loa == LOA_ADDRESS
- && content[line_no].line_or_addr.u.addr == loc->address);
+ return (m_content[line_no].line_or_addr.loa == LOA_ADDRESS
+ && m_content[line_no].line_or_addr.u.addr == loc->address);
}
bool
tui_disasm_window::addr_is_displayed (CORE_ADDR addr) const
{
- if (content.size () < SCROLL_THRESHOLD)
+ if (m_content.size () < SCROLL_THRESHOLD)
return false;
- for (size_t i = 0; i < content.size () - SCROLL_THRESHOLD; ++i)
+ for (size_t i = 0; i < m_content.size () - SCROLL_THRESHOLD; ++i)
{
- if (content[i].line_or_addr.loa == LOA_ADDRESS
- && content[i].line_or_addr.u.addr == addr)
+ if (m_content[i].line_or_addr.loa == LOA_ADDRESS
+ && m_content[i].line_or_addr.u.addr == addr)
return true;
}
set_is_exec_point_at (a);
}
}
+
+void
+tui_disasm_window::display_start_addr (struct gdbarch **gdbarch_p,
+ CORE_ADDR *addr_p)
+{
+ *gdbarch_p = m_gdbarch;
+ *addr_p = m_start_line_or_addr.u.addr;
+}