|
|
|
|
|
by monocasa
214 days ago
|
|
> That said, I don't know what the Transmeta CPUs did. Maybe they had a low-level instruction set that had all sorts of hacks to help the translation layer avoid the problems of branch destination translation. Fixed guest branches just get turned into host branches and work like normal. Indirect guest branches would get translated through a hardware jump address cache that was structured kind of like TLB tag lookups are. |
|
> 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)?