Lines Matching full:sample
17 static bool get_leaf_frame_caller_enabled(struct perf_sample *sample) in get_leaf_frame_caller_enabled() argument
19 return callchain_param.record_mode == CALLCHAIN_FP && sample->user_regs.regs in get_leaf_frame_caller_enabled()
20 && sample->user_regs.mask & SMPL_REG_MASK(PERF_REG_ARM64_LR); in get_leaf_frame_caller_enabled()
31 u64 get_leaf_frame_caller_aarch64(struct perf_sample *sample, struct thread *thread, int usr_idx) in get_leaf_frame_caller_aarch64() argument
35 struct regs_dump old_regs = sample->user_regs; in get_leaf_frame_caller_aarch64()
37 if (!get_leaf_frame_caller_enabled(sample)) in get_leaf_frame_caller_aarch64()
46 if (!(sample->user_regs.mask & SMPL_REG_MASK(PERF_REG_ARM64_PC))) { in get_leaf_frame_caller_aarch64()
47 sample->user_regs.cache_mask |= SMPL_REG_MASK(PERF_REG_ARM64_PC); in get_leaf_frame_caller_aarch64()
48 sample->user_regs.cache_regs[PERF_REG_ARM64_PC] = sample->callchain->ips[usr_idx+1]; in get_leaf_frame_caller_aarch64()
51 if (!(sample->user_regs.mask & SMPL_REG_MASK(PERF_REG_ARM64_SP))) { in get_leaf_frame_caller_aarch64()
52 sample->user_regs.cache_mask |= SMPL_REG_MASK(PERF_REG_ARM64_SP); in get_leaf_frame_caller_aarch64()
53 sample->user_regs.cache_regs[PERF_REG_ARM64_SP] = 0; in get_leaf_frame_caller_aarch64()
56 ret = unwind__get_entries(add_entry, &entries, thread, sample, 2, true); in get_leaf_frame_caller_aarch64()
57 sample->user_regs = old_regs; in get_leaf_frame_caller_aarch64()