PC/eip is not updated within a basic block
enlighten5 opened this issue · 0 comments
enlighten5 commented
QEMU does not update the pc within a basic block at runtime. Specifically,
-
Instructions in one basic block will have the same pc as the first instruction.
-
Blocks that are patched together by a jump instruction will have the same pc, i.e., pc will be not updated by the jump.
QEMU might do this for a better performance. but the pc is used by the backend for branch filtering and basic block pruning, an accurate pc can lead to better pruning results.
I have a fix in this commit. Please let me know if it makes sense.
Thank you!