|
|
|
|
|
by ithkuil
589 days 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) |
|