Patent ID: 8627051
Filing Date: 2014-01-07
Classification: G06F

Abstract:
1. A method, in a data processing system, for dynamically rewriting branch instructions in a portion of code, comprising: compiling, by a compiler, source code, wherein, during compilation of the source code: responsive to executing, in a processor of the data processing system, the indirect branch instruction in the portion of code of the compiled code, determining, by the processor, whether the target instruction of the indirect branch instruction, to which the indirect branch instruction branches, is present in an instruction cache of a local store of the data processing system by utilizing the set of instruction tag (ITAG) based instructions to check whether an instruction tag (ITAG) corresponding to the target instruction is located in an ITAG directory of the local store; directly branching, by the processor, execution of the portion of code to the target instruction in the instruction cache, without intervention from the instruction cache runtime system, in response to a determination that the target instruction is present in the instruction cache; and redirecting, by the processor, execution of the portion of code to the instruction cache runtime system in response to a determination that the target instruction cannot be determined to be present in the instruction cache.