perf annotate: Disassembler instruction parsing

So that at disassembly time we parse targets, etc.

Supporting jump instructions initially, call functions are next.

Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-7vzlh66n5or46n27ji658cnl@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo
2012-04-18 13:58:34 -03:00
parent 657bcaf509
commit 4f9d03251b
3 changed files with 79 additions and 16 deletions

View File

@@ -7,11 +7,24 @@
#include <linux/list.h>
#include <linux/rbtree.h>
struct ins_ops {
int (*parse_target)(const char *operands, u64 *target);
};
struct ins {
const char *name;
struct ins_ops *ops;
};
bool ins__is_jump(const struct ins *ins);
struct disasm_line {
struct list_head node;
s64 offset;
u64 target;
char *line;
char *name;
struct ins *ins;
char *operands;
};