US 11,886,848 B2
Binary translation using raw binary code with compiler produced metadata
Toshihiko Koju, Chiba (JP); Reid Copeland, Ontario (CA); David Kevin Siegwart, Eastleigh (GB); Jordan Ryan Zannier, Scarborough (CA); and Allan H. Kielstra, Ajax (CA)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed on May 25, 2022, as Appl. No. 17/664,969.
Prior Publication US 2023/0385041 A1, Nov. 30, 2023
Int. Cl. G06F 8/41 (2018.01)
CPC G06F 8/443 (2013.01) [G06F 8/447 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method for binary translation, the computer-implemented method comprising:
combining, by a binary translator, raw binary code and compiler-produced metadata associated with a compiled program module;
reconciling, by the binary translator using the compiler-produced metadata, original compiler-produced control flow information with how lower-level machine instructions comprise a control flow in the raw binary code;
reconciling, by the binary translator using the compiler-produced metadata, original compiler-produced aliasing information with how lower-level machine instructions access the memory locations described by the aliasing information according to predetermined criteria;
preventing, by the binary translator using the compiler-produced metadata, copy propagation of values in temporary variables for decimal computations beyond offsets in the machine instructions where the temporary variables are killed;
removing, by the binary translator using the compiler-produced metadata, of identified dead store instructions; and
generating, by the binary translator, a new compiled program module in a form of an optimized version of the compiled program module having strict compatibility to an original version of the compiled program module.