Patent ID: 8397050

Claim:
A simulator for running a guest program in a host, the simulator comprising: an initialization device configured to set content of a hypervisor page table in the host, wherein the hypervisor page table is configured to map a guest physical address space to a host physical address space; a binary translation device configured to employ a program logical address to perform a memory access in code translation; a miss handling device configured to perform an update to a guest translation look-aside buffer by treating a miss in a host translation look-aside buffer caused by execution of translated code as a miss in the guest translation look-aside buffer, wherein the host translation look-aside buffer is configured to buffer entries for mapping addresses in a program logical address space to addresses in the guest physical address space; an update tracing device configured to update the host translation look-aside buffer in response to the update to the guest translation look-aside buffer by the miss handling device; wherein the update tracing device is further configured to: in response to setting an initial value to the guest program in the guest translation look-aside buffer, set the initial value to content for the guest program in the host translation look-aside buffer; and wherein the update tracing device is further configured to: in response to a flush of the content for the guest program in the guest translation look-aside buffer according to a predetermined event, perform the flush of the content for the guest program in the host translation look-aside buffer.