Mechanism to optimize code translation
AssigneeUnisys Corporation
InventorsDheeraj SHARMA, David STRONG
Life of this patent
Estimating the term…
Abstract
Aspects herein describe optimized code translation. While dynamic binary code (DBT) translation provides optimized performance for those portions of code that are identified as hot paths, it can still lead to suboptimal performance for those portions of code that, while important to a program, are not identified as hot paths. Aspects herein provide the core mechanisms of DBT utilized today while also incorporating analysis of relationships between one or more code segments. Identification of code relationships allows for pre-translation of related code segments (i.e., translation prior to execution) while still utilizing the dynamic aspects of DBT to translate identified hot paths.
Claims20
A method for optimized translation in a computing system, comprising:
- receiving, by a processor of the computing system, a non-native code stream comprising a sequence of one or more code segments;
- generating a relationship graph including a plurality of relationships between the one or more code segments;
- determining one or more related code segments based on the relationship graph;
- generating a sequence of translation for the one or more related code segments based on the one or more relationships;
- and
- translating the one or more related code segments using the sequence of translation.
One or more computer storage media having executable instructions embodied thereon, which, when executed by a processor, cause the processor to perform operations to a memory architecture in a computing system, the operations comprising:
- receiving, by a processor of the computing system, a non-native code stream comprising a sequence of one or more code segments;
- generating a relationship graph including a plurality of relationships between the one or more code segments;
- determining one or more related code segments based on the relationship graph;
- generating a sequence of translation for the one or more related code segments based on the one or more relationships;
- and
- translating the one or more related code segments using the sequence of translation.
A system comprising:
- a processor;
- and
- a memory architecture in a computing system coupled to the processor storing instructions that, as a result of being executed by the processor, cause the processor to:
- receive, by a processor of the computing system, a non-native code stream comprising a sequence of one or more code segments;
- generate a relationship graph including a plurality of relationships between the one or more code segments;
- determine one or more related code segments based on the relationship graph;
- generate a sequence of translation for the one or more related code segments based on the one or more relationships;
- and
- translate the one or more related code segments using the sequence of translation.
Dependencies are inferred from the claim text.