Jit the perl5 runops loop in proper execution order
It does only work yet for non-threaded simple functions! No subs, no branches.
This perl5 jitter is super-simple. The compiled optree is a linked list in memory in non-execution order, wide-spread jumps. Additionally the calls are indirect. The jitter properly aligns the run-time calls in linear linked-list "exec" order, so that the CPU can prefetch the next instructions.
The old indirect call far costs about 70 cycles, the new direct call near costs 3-5 cycles and is cached.
Speed up: TODO
Additional memory costs: TODO