btrace: Store btrace_insn in an std::vector
authorSimon Marchi <simon.marchi@ericsson.com>
Mon, 4 Sep 2017 08:46:36 +0000 (10:46 +0200)
committerSimon Marchi <simon.marchi@ericsson.com>
Mon, 4 Sep 2017 08:46:36 +0000 (10:46 +0200)
commit0860c437cbe4efd8752531d0464007f448fc8274
tree2aed7314eee9241b3b9557baa29d738a45c91973
parenta826403eb6f0ad2fb8c88b45ea3cf5ba39cdaa75
btrace: Store btrace_insn in an std::vector

Because it contains a non-POD type field (flags), the type btrace_insn
should be new'ed/delete'd.  Replace the VEC (btrace_insn_s) in
btrace_function with an std::vector.

gdb/ChangeLog:

* btrace.h (btrace_insn_s, DEF_VEC_O (btrace_insn_s)): Remove.
(btrace_function) <insn>: Change type to use std::vector.
* btrace.c (ftrace_debug, ftrace_call_num_insn,
ftrace_find_call, ftrace_new_gap, ftrace_update_function,
ftrace_update_insns, ftrace_compute_global_level_offset,
btrace_stitch_bts, btrace_clear, btrace_insn_get,
btrace_insn_end, btrace_insn_next, btrace_insn_prev): Adjust to
change to std::vector.
(ftrace_update_insns): Adjust to change to std::vector, change
type of INSN parameter.
(btrace_compute_ftrace_bts): Adjust call to ftrace_update_insns.
* record-btrace.c (btrace_call_history_insn_range,
btrace_compute_src_line_range,
record_btrace_frame_prev_register): Adjust to change to
std::vector.
* python/py-record-btrace.c (recpy_bt_func_instructions): Adjust
to change to std::vector.
gdb/ChangeLog
gdb/btrace.c
gdb/btrace.h
gdb/python/py-record-btrace.c
gdb/record-btrace.c