|
|
|
|
|
by pizlonator
214 days ago
|
|
Thank you for sharing! > Fixed guest branches just get turned into host branches and work like normal. How does that work in case of self-modifying code, or skewed execution (where the same x86 instruction stream has two totally different interpretations based on what offset you start at)? |
|
Self modifying code is handled with MMU traps on the writes, and invalidation of the relevant traces. It is very much a slow path though. Ideally heavy self modfying code is able to stay in the interpreter though and not thrash in and out of the compiler.