None
EN
Porting the Solana eBPF JIT compiler to ARM64
['Andrew Haberlandt']
The Trail of Bits Blog
My primary goal was to add support in RBPF for the ARM64 architecture, mainly by updating the register map, calling convention, and all of the subroutines and instruction translations to emit ARM64 instructions. RBPF verifies then translates an entire program, instruction by instruction, into the target architecture before finally calling into the emitted code. So some simple eBPF instructions require multiple ARM64 instructions (e.g., emit_load_immediate64 may emit more than one instruction to move the immediate into the scratch register), even if they require only a single x86 instruction.