• Arnaldo Carvalho de Melo's avatar
    perf annotate: Remove duplicate 'name' field from disasm_line · 75b49202
    Arnaldo Carvalho de Melo authored
    The disasm_line::name field is always equal to ins::name, being used
    just to locate the instruction's ins_ops from the per-arch instructions
    table.
    
    Eliminate this duplication, nuking that field and instead make
    ins__find() return an ins_ops, store it in disasm_line::ins.ops, and
    keep just in disasm_line::ins.name what was in disasm_line::name, this
    way we end up not keeping a reference to entries in the per-arch
    instructions table.
    
    This in turn will help supporting multiple ways to manage the per-arch
    instructions table, allowing resorting that array, for instance, when
    the entries will move after references to its addresses were made. The
    same problem is avoided when one grows the array with realloc.
    
    So architectures simply keeping a constant array will work as well as
    architectures building the table using regular expressions or other
    logic that involves resorting the table.
    Reviewed-by: default avatarRavi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Chris Riyder <chris.ryder@arm.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Cc: Markus Trippelsdorf <markus@trippelsdorf.de>
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Cc: Pawel Moll <pawel.moll@arm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Russell King <rmk+kernel@arm.linux.org.uk>
    Cc: Taeung Song <treeze.taeung@gmail.com>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: http://lkml.kernel.org/n/tip-vr899azvabnw9gtuepuqfd9t@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    75b49202
annotate.c 30.1 KB