Subject: Re: [PATCH net-next 2/3] arm64: bpf: optimize JMP_CALL

From: Will Deacon <[email-masked]>
Date: Mon, 6 Jun 2016 18:05:15 +0100

On Sat, Jun 04, 2016 at 03:00:29PM -0700, Zi Shen Lim wrote:
> Remove superfluous stack frame, saving us 3 instructions for
> every JMP_CALL.
> 
> Signed-off-by: Zi Shen Lim <[email-masked]>
> ---
>  arch/arm64/net/bpf_jit_comp.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/arch/arm64/net/bpf_jit_comp.c b/arch/arm64/net/bpf_jit_comp.c
> index 51abc97..7ae304e 100644
> --- a/arch/arm64/net/bpf_jit_comp.c
> +++ b/arch/arm64/net/bpf_jit_comp.c
> @@ -578,11 +578,8 @@ emit_cond_jmp:
>  		const u64 func = (u64)__bpf_call_base + imm;
>  
>  		emit_a64_mov_i64(tmp, func, ctx);
> -		emit(A64_PUSH(A64_FP, A64_LR, A64_SP), ctx);
> -		emit(A64_MOV(1, A64_FP, A64_SP), ctx);
>  		emit(A64_BLR(tmp), ctx);
>  		emit(A64_MOV(1, r0, A64_R(0)), ctx);
> -		emit(A64_POP(A64_FP, A64_LR, A64_SP), ctx);
>  		break;
>  	}

Is the jitted code intended to be unwindable by standard tools?

Will