I'm new to eBPF, I am reading the source code from linux kernel tree arch/x86/net/bpf_jit_comp.c. I noticed there are some passes needed for the final jited image. I'm very confused about this. Toturial says JITed image shrinks with every pass and the loop iterates until the image stops shrinking. Could you give me an example? As far as I am concerned, eBPF jit is a one-to-one mapping, how can the image shrink?