2 ms·
Jumping to a destination via pointer that changed value is a misprediction of an indirect jump and that's common. More uncommon but technically possible is to
by ithkuil 2y ago
Jumping to a destination via pointer that changed value is a misprediction of an indirect jump and that's common.
More uncommon but technically possible is to mispredict a unconditional direct jump.
For that to happen the code itself has to change.
Indeed JIT is a common cause of mutable code at runtime.
But also unmapping a library and remapping another library in the same memory range can also effectively cause the same address to contain a different instruction that the one predicted but the branch prediction logic (likely not even a branch instruction)