Patent ID: 11886847
Assignee: NEXT SILICON LTD
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 22:
23. A system for executing a software program, comprising at least one hardware processor adapted for:
accessing a binary executable software object produced by:
to program data in an intermediate representation (IR) of a source code of a software program, the IR representing the source code independent of a source programming language and additionally or alternatively independent of a target machine language and comprising a global IR symbol table comprising at least some of one or more IR symbols generated when producing the IR, each IR symbol referencing a location in the IR, adding one or more annotation entries, each for one of one or more locations in the IR, wherein at least one internal annotation entry of the one or more annotation entries is generated for an internal location in the IR that is not referenced by an IR symbol in the global IR symbol table and comprises a reference value identifying the internal location in the IR;
compiling the IR to produce a binary software object comprising binary program data, where the binary program data comprises the one or more annotation entries;
updating one or more executable internal annotation entries in a binary executable software object generated using the binary software object, each generated for one of the at least one internal annotation entries, to reference a run-time location in the binary executable software object where the run-time location is associated with the internal location in the IR of the at least one internal annotation entry, by providing the binary software object to a linker and additionally or alternatively to a dynamic loader;

executing at least part of the binary executable software object;
collecting a plurality of statistical values while executing the at least part of the binary executable software object; and
optimizing a plurality of intermediate computer instructions of the IR based on an association between at least some of the plurality of statistical values and the internal location in the IR, to produce a new IR of the source code, comprising a new plurality of intermediate computer instructions.