Patent ID: 8819648
Filing Date: 2014-08-26
Classification: G06F

Abstract:
1. A computer-performed method for hosting guest program code having a non-native instruction set executing within a host operating system within a virtualized computer system, the method comprising: dynamically translating the guest program code to translated native program code; caching pages of the translated native program code in a translated native code page cache; executing the translated native program code; detecting that a portion of the translated native program code corresponding to a non-native branch instruction will cause the executing to be directed to a particular translated code physical address corresponding to a particular non-native virtual address in a different first non-native virtual memory page than a second non-native virtual memory page containing the non-native branch instruction; responsive to detecting that the program control instruction will cause the executing to be directed to the particular translated code physical address, retrieving a record indicating a location of a translated code page containing the particular translated code physical address using the particular non-native virtual address as a key into a host code map that directly maps non-native virtual addresses to translated code physical addresses, wherein the retrieving comprises adding the particular non-native virtual address to a base address of the host code map to obtain a pointer into the host code map corresponding to an address at which the record is stored and de-referencing the pointer to obtain the record; loading the translated code page into physical memory; and directing the executing to the particular translated code physical address in the translated code page.