Abstract:
PROBLEM TO BE SOLVED: To provide a dynamic binary translator apparatus for translating a first block of one page size into a second block of another page size.SOLUTION: An apparatus includes a redirection page mapper 514 responsive to a memory page characteristic of a first memory 506 for mapping an address of the first memory to an address of a second memory 512, a memory fault behavior detector 516 operable to detect memory fault during execution of a second block and to accumulate a fault count to a trigger threshold, and a regeneration component 518 responsive to the fault count reaching the trigger threshold to discard the second block and cause a first block to be retranslated into a retranslated block with its memory references remapped by a page table walk.
Abstract:
A dynamic binary translator apparatus, method and program for translating a first block of binary computer code intended for execution in a subject execution environment having a first memory of one page size into a second block for execution in a second execution environment having a second memory of another page size, comprising a redirection page mapper responsive to a page characteristic of the first memory for mapping an address of the first memory to an address of the second memory; a memory fault behaviour detector operable to detect memory faulting during execution of the second block and to accumulate a fault count to a trigger threshold; and a regeneration component responsive to the fault count reaching the trigger threshold to discard the second block and cause the first block to be retranslated with its memory references remapped by a page table walk.
Abstract:
A dynamic binary translator apparatus, method and program for translating a first block of binary computer code intended for execution in a subject execution environment having a first memory of one page size into a second block for execution in a second execution environment having a second memory of another page size, comprising a redirection page mapper responsive to a page characteristic of the first memory for mapping an address of the first memory to an address of the second memory; a memory fault behaviour detector operable to detect memory faulting during execution of the second block and to accumulate a fault count to a trigger threshold; and a regeneration component responsive to the fault count reaching the trigger threshold to discard the second block and cause the first block to be retranslated with its memory references remapped by a page table walk.