Patent ID: 8131535
Filing Date: 2012-03-06
Classification: G06F

Abstract:
1. In emulation of a target system on a host system in which one or more components of the target system are emulated by translation of target system code, a method for invalidating blocks of translated code, the method comprising: translating one or more blocks of target system code with the host system to produce one or more corresponding blocks of translated code, wherein translating one or more blocks of target system code includes linking two or more blocks of translated code together to form a chain such that a look-up in a first translated block in the chain will directly branch to a second translated block; analyzing the one or more blocks of target system code for the presence of one or more native target system instructions indicative of modification of the target system code during execution; if the one or more native target system instructions are present, marking some or all of the one or more blocks of translated code as potentially invalid; and re-translating one or more blocks of target system code corresponding to one or more blocks of translated code that have been marked as potentially invalid; and if one or more of the blocks of translated code is invalidated, overriding one or more instructions in the one or more blocks of translated code without undoing the chain.