+2017-05-30 Tim Wiederhake <tim.wiederhake@intel.com>
+
+ * btrace.c (btrace_fetch, btrace_clear, btrace_find_insn_by_number):
+ Replace VEC_* with std::vector functions.
+ * btrace.h: Add include: vector. Remove typedef for DEF_VEC_P.
+ (struct btrace_thread_info)<functions>: Change type to std::vector.
+
2017-05-30 Simon Marchi <simon.marchi@ericsson.com>
* NEWS (Changes in GDB 8.0): Remove extra empty line. Move
btrace_data_append (&btinfo->data, &btrace);
btrace_maint_clear (btinfo);
- VEC_truncate (btrace_fun_p, btinfo->functions, 0);
+ btinfo->functions.clear ();
btrace_clear_history (btinfo);
btrace_compute_ftrace (tp, &btrace);
for (bfun = btinfo->begin; bfun != NULL; bfun = bfun->flow.next)
- VEC_safe_push (btrace_fun_p, btinfo->functions, bfun);
+ btinfo->functions.push_back (bfun);
}
do_cleanups (cleanup);
reinit_frame_cache ();
btinfo = &tp->btrace;
-
- VEC_free (btrace_fun_p, btinfo->functions);
+ btinfo->functions.clear ();
it = btinfo->begin;
while (it != NULL)
const struct btrace_function *bfun;
unsigned int upper, lower;
- if (VEC_empty (btrace_fun_p, btinfo->functions))
+ if (btinfo->functions.empty ())
return 0;
lower = 0;
- bfun = VEC_index (btrace_fun_p, btinfo->functions, lower);
+ bfun = btinfo->functions[lower];
if (number < bfun->insn_offset)
return 0;
- upper = VEC_length (btrace_fun_p, btinfo->functions) - 1;
- bfun = VEC_index (btrace_fun_p, btinfo->functions, upper);
+ upper = btinfo->functions.size () - 1;
+ bfun = btinfo->functions[upper];
if (number >= bfun->insn_offset + ftrace_call_num_insn (bfun))
return 0;
{
const unsigned int average = lower + (upper - lower) / 2;
- bfun = VEC_index (btrace_fun_p, btinfo->functions, average);
+ bfun = btinfo->functions[average];
if (number < bfun->insn_offset)
{
# include <intel-pt.h>
#endif
+#include <vector>
+
struct thread_info;
struct btrace_function;
btrace_function_flags flags;
};
-typedef struct btrace_function *btrace_fun_p;
-DEF_VEC_P (btrace_fun_p);
-
/* A branch trace instruction iterator. */
struct btrace_insn_iterator
{
/* Vector of pointer to decoded function segments. These are in execution
order with the first element == BEGIN and the last element == END. */
- VEC (btrace_fun_p) *functions;
+ std::vector<btrace_function *> functions;
/* The function level offset. When added to each function's LEVEL,
this normalizes the function levels such that the smallest level