mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
perf annotate-data: Extract invalidate_reg_state() as a common helper
The invalidate_reg_state() function is currently static and only used within the x86 data type profiling implementation. To prepare for adding arm64 instruction tracking support, extract it as a common helper that can be shared across architectures. No functional change intended. Reviewed-by: Shuai Xue <xueshuai@linux.alibaba.com> Reviewed-by: Ian Rogers <irogers@google.com> Reviewed-by: Namhyung Kim <namhyung@kernel.org> Signed-off-by: Tengda Wu <wutengda@huaweicloud.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
6bfe62df93
commit
edc11f5794
|
|
@ -207,15 +207,6 @@ static int x86__cpuid_parse(struct arch *arch, const char *cpuid)
|
|||
}
|
||||
|
||||
#ifdef HAVE_LIBDW_SUPPORT
|
||||
static void invalidate_reg_state(struct type_state_reg *reg)
|
||||
{
|
||||
reg->kind = TSR_KIND_INVALID;
|
||||
reg->ok = false;
|
||||
reg->lifetime_active = false;
|
||||
reg->lifetime_end = 0;
|
||||
reg->copied_from = -1;
|
||||
}
|
||||
|
||||
static void update_insn_state_x86(struct type_state *state,
|
||||
struct data_loc_info *dloc, Dwarf_Die *cu_die,
|
||||
struct disasm_line *dl)
|
||||
|
|
|
|||
|
|
@ -748,6 +748,15 @@ struct type_state_stack *findnew_stack_state(struct type_state *state,
|
|||
return stack;
|
||||
}
|
||||
|
||||
void invalidate_reg_state(struct type_state_reg *reg)
|
||||
{
|
||||
reg->kind = TSR_KIND_INVALID;
|
||||
reg->ok = false;
|
||||
reg->lifetime_active = false;
|
||||
reg->lifetime_end = 0;
|
||||
reg->copied_from = -1;
|
||||
}
|
||||
|
||||
/* Maintain a cache for quick global variable lookup */
|
||||
struct global_var_entry {
|
||||
struct rb_node node;
|
||||
|
|
|
|||
|
|
@ -267,6 +267,7 @@ void set_stack_state(struct type_state_stack *stack, int offset, u8 kind,
|
|||
Dwarf_Die *type_die, int ptr_offset);
|
||||
struct type_state_stack *find_stack_state(struct type_state *state,
|
||||
int offset);
|
||||
void invalidate_reg_state(struct type_state_reg *reg);
|
||||
bool get_global_var_type(Dwarf_Die *cu_die, struct data_loc_info *dloc,
|
||||
u64 ip, u64 var_addr, int *var_offset,
|
||||
Dwarf_Die *type_die);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user