perf annotate: Generalize handling of 'ret' instructions
Introduce helper to detect 'ret' instructions and use the same in the TUI. A helper is needed since some architectures such as powerpc have more than one return instruction. Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com> Cc: Anton Blanchard <anton@ozlabs.org> Cc: Daniel Axtens <dja@axtens.net> Cc: Michael Ellerman <mpe@ellerman.id.au> Link: http://lkml.kernel.org/r/1466769240-12376-5-git-send-email-ravi.bangoria@linux.vnet.ibm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:

committed by
Arnaldo Carvalho de Melo

parent
9f776ba11c
commit
6ef9492915
@@ -354,6 +354,15 @@ static struct ins_ops nop_ops = {
|
||||
.scnprintf = nop__scnprintf,
|
||||
};
|
||||
|
||||
static struct ins_ops ret_ops = {
|
||||
.scnprintf = ins__raw_scnprintf,
|
||||
};
|
||||
|
||||
bool ins__is_ret(const struct ins *ins)
|
||||
{
|
||||
return ins->ops == &ret_ops;
|
||||
}
|
||||
|
||||
static struct ins instructions[] = {
|
||||
{ .name = "add", .ops = &mov_ops, },
|
||||
{ .name = "addl", .ops = &mov_ops, },
|
||||
@@ -444,6 +453,7 @@ static struct ins instructions[] = {
|
||||
{ .name = "xadd", .ops = &mov_ops, },
|
||||
{ .name = "xbeginl", .ops = &jump_ops, },
|
||||
{ .name = "xbeginq", .ops = &jump_ops, },
|
||||
{ .name = "retq", .ops = &ret_ops, },
|
||||
};
|
||||
|
||||
static int ins__key_cmp(const void *name, const void *insp)
|
||||
|
Reference in New Issue
Block a user