主权项 |
1. A method for optimized compiling of a template function, the method comprising:
receiving, by one or more computer processors, the template function, wherein the template function includes one or more data types; creating, by the one or more computer processors, a single abstract instantiation for the template function; creating, by the one or more computer processors, an abstract internal descriptor for each unique parameter found in the template function, wherein the each unique parameter consists of parameters for each of the one or more data types included in the template function, and wherein the each unique parameter for the each data type of the one or more data types is represented by symbols with various attributes in a compiler, and the abstract internal descriptor is an internal symbol with undefined contents; generating, by the one or more computer processors, a map set for the one or more created abstract internal descriptor, wherein the map set is a link between the template function and the parameters in the template function, and wherein the map set provides one or more of the following: the number of instantiations required from the single abstract instantiation and what type of instantiations are required; and creating, by the one or more computer processors, a finished object using the generated map set, wherein the finished object is a translation of an intermediate representation into assembly code and the finished object is an executable file, wherein creating the finished object comprises:
executing, by the one or more computer processors, a single back-end compiling optimization of a single front-end compiling abstract instantiation, optimization are steps for converting a source code into the executable file; andcreating the executable file via late instantiation of an optimized abstract instantiation. |