Patent ID: 9317264
Filing Date: 2016-04-19
CPC Classification: G06F

Claim Text:
1. A method of execution control for use during program code conversion of a subject program into target code executable by a target processor, the method comprising: (a) providing a translator run loop which sets a subject block in the subject program as a current subject block; (b) calling a first translator trampoline function from the translator run loop; (c) without returning to the translator run loop, calling from the first translator trampoline function either to a translator code generator function to generate and store a target code block from the current subject block, or else calling and executing a previously stored target code block corresponding to the current subject block; (d) returning, from the executing without returning to the translator run loop, to the first translator trampoline function and repeating (c) for another subject block, or else returning from the first translator trampoline function to the translator run loop; (e) retuning from execution of target code to the first translator trampoline function; (f) calling from the execution of target code to a nested second translator trampoline function; (g) returning from the nested second translator trampoline function to the first translator trampoline function; (h) calling from the first translator trampoline function to the target code execution; and (i) in the first translator trampoline function, performing a context switch from the first calling convention to the second calling convention when switching between the target code execution and the nested second translator trampoline function execution, and vice versa; wherein the nested second translator trampoline function includes the translator code generator function to generate a block of target code from a corresponding block of the subject program.