Methods and apparatuses for a compiler server
First Claim
1. A computer implemented method, comprising:
- in response to receiving, at a compiler server that comprises a plurality of different compilers of different types of source code, a compilation request from a first application to compile a source code, the compilation request comprising meta data that is generated from the source code and the compilation request further identifying a compiler in the plurality of different compilers to use to compile the source code,searching, by the compiler server, a cache for a compiled code that satisfies the compilation request by comparing at least a portion of the meta data in the compilation request with meta data associated with the compiled code in the cache,determining if the first application is authorized to receive the compiled code, and if the first application is authorized to receive the compiled code providing the compiled code to the first application in response to the compilation request if the compiled code that satisfies the compilation request is available from the cache, otherwise;
selecting a first compiler from the plurality of different compilers based at least in part on the identification of the compiler in the request;
instructing, by the compiler server, the first compiler to build the compiled code from the source code for the compilation request;
in response to detecting that the first compiler has successfully built the compiled code;
providing the first application with the compiled code built for the compilation request; and
storing the compiled code in the cache with the meta data from the compilation request;
in response to detecting that the application process is not allowed to access the compiler identified in the compilation request;
selecting, by the compiler server, a second compiler, different from the first compiler, from the plurality of different compilers to build compiled code;
compiling the source code using the second compiler;
providing the first application with the compiled code; and
storing a copy of the compiled code, wherein the compiled code is available for a future compilation request.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and an apparatus that instructs a compiler server to build or otherwise obtain a compiled code corresponding to a compilation request received from an application are described. The compiler server may be configured to compile source codes for a plurality of independent applications, each running in a separate process, using a plurality of independent compilers, each running in a separate compiler process. A search may be performed in a cache for a compiled code that satisfies a compilation request received from an application. A reply message including the compiled code can be provided for the application, wherein the compiled code is compiled in direct response to the request, or is obtained from the cache if the search identities in the cache the compiled code that satisfies the compilation request.
-
Citations
28 Claims
-
1. A computer implemented method, comprising:
-
in response to receiving, at a compiler server that comprises a plurality of different compilers of different types of source code, a compilation request from a first application to compile a source code, the compilation request comprising meta data that is generated from the source code and the compilation request further identifying a compiler in the plurality of different compilers to use to compile the source code, searching, by the compiler server, a cache for a compiled code that satisfies the compilation request by comparing at least a portion of the meta data in the compilation request with meta data associated with the compiled code in the cache, determining if the first application is authorized to receive the compiled code, and if the first application is authorized to receive the compiled code providing the compiled code to the first application in response to the compilation request if the compiled code that satisfies the compilation request is available from the cache, otherwise; selecting a first compiler from the plurality of different compilers based at least in part on the identification of the compiler in the request; instructing, by the compiler server, the first compiler to build the compiled code from the source code for the compilation request; in response to detecting that the first compiler has successfully built the compiled code; providing the first application with the compiled code built for the compilation request; and storing the compiled code in the cache with the meta data from the compilation request; in response to detecting that the application process is not allowed to access the compiler identified in the compilation request; selecting, by the compiler server, a second compiler, different from the first compiler, from the plurality of different compilers to build compiled code; compiling the source code using the second compiler; providing the first application with the compiled code; and storing a copy of the compiled code, wherein the compiled code is available for a future compilation request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A machine readable non-transitory medium storing instructions which when executed by a data processing system cause the data processing system to perform a method, comprising:
-
in response to receiving, at a compiler server that comprises a plurality of different compilers of different types of source code, a compilation request from a first application to compile a source code, the compilation request comprising meta data that is generated from the source code and the compilation request from the first application further identifying a compiler in the plurality of different compilers to use to compiler the source code, searching, by the compiler server, a cache for a compiled code that satisfies the compilation request by comparing at least a portion of the meta data in the compilation request with meta data associated with the compiled code in the cache, determining if the first application is authorized to receive the compiled code, and if the first application is authorized to receive the compiled code providing the compiled code to the first application in response to the compilation request if the compiled code that satisfies the compilation request is available from the cache, otherwise; selecting a first compiler from the plurality of different compilers based at least in part on the identification of the compiler in the request; instructing, by the compiler server, the first compiler to build the compiled code from the source code for the compilation request; in response to detecting that the application process is not allowed to access the compiler identified in the compilation request; providing the first application with the compiled code built for the compilation request; storing the compiled code with the associated meta data from the compilation request; in response to detecting that the first compiler fails to build the compiled code for the compilation request; selecting, by the compiler server, a second compiler different from the first compiler from the plurality of different compilers to build compiled code; compiling the source code using the second compiler; providing the first application with the compiled code; and storing a copy of the compiled code, wherein the compiled code is available for a future compilation request. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification