ARM's instruction and data caches are not coherent, so we need to flush before executing to ensure there's no stale data left over.
Keeps the hot path nice and clean.