49 #include <xed-interface.h> 54 #include <include/hpctoolkit-config.h> 77 EMSG(
"x86_dump_intervals: bounds of addr %p taken, but no bounds known", addr);
101 xed_decoded_inst_t
xedd;
102 xed_decoded_inst_t *xptr = &
xedd;
103 xed_error_enum_t xed_error;
108 xed_error = xed_decode(xptr, (uint8_t*) ins, 15);
110 if (xed_error == XED_ERROR_NONE) {
111 xed_decoded_inst_dump(xptr, inst_buf,
sizeof(inst_buf));
112 sprintf(errbuf,
"(%p, %d bytes, %s) %s \n" , ins,
113 xed_decoded_inst_get_length(xptr),
114 xed_iclass_enum_t2str(
iclass(xptr)), inst_buf);
117 #if defined(ENABLE_XOP) && defined (HOST_CPU_x86_64) 122 sprintf(errbuf,
"(%p, %d bytes) weak AMD XOP \n", ins, (
int) decode_res.
len);
124 sprintf(errbuf,
"(%p, %d bytes) robust AMD XOP \n", ins, (
int) decode_res.
len);
127 #endif // ENABLE_XOP and HOST_CPU_x86_64 128 sprintf(errbuf,
"x86_dump_ins: xed decode error addr=%p, code = %d\n",
129 ins, (
int) xed_error);
132 fprintf(stderr, errbuf);
void adv_amd_decode(amd_decode_t *stat, void *ins)
void dump_ui_dbg(unwind_interval *u)
void x86_dump_ins(void *ins)
bool uw_recipe_map_lookup(void *addr, unwinder_t uw, unwindr_info_t *unwr_info)
void hpcrun_dump_intervals_noisy(void *addr)
xed_control_t x86_decoder_settings
btuwi_status_t x86_build_intervals(void *ins, unsigned int len, int noisy)
static xed_decoded_inst_t xedd
static void x86_print_intervals(btuwi_status_t intervals)
static void x86_dump_intervals(void *addr, int noisy)
void hpcrun_dump_intervals(void *addr)
bitree_uwi_t unwind_interval