METHODS AND APPARATUSES FOR A COMPILER SERVER
First Claim
1. A computer implemented method, comprising:
- in response to receiving a compilation request from an application to compile a source code, searching a cache for a compiled code that satisfies the compilation request;
instructing a compiler to build the compiled code from the source code if the search does not identify the compiled code in the cache that satisfies the compilation request, wherein the compiler is configured to compile source codes from a plurality of independent client applications; and
providing the application with a reply including the compiled code from the cache if the search identifies the compiled code in the cache that satisfies the compilation request.
1 Assignment
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 identifies in the cache the compiled code that satisfies the compilation request.
-
Citations
27 Claims
-
1. A computer implemented method, comprising:
-
in response to receiving a compilation request from an application to compile a source code, searching a cache for a compiled code that satisfies the compilation request; instructing a compiler to build the compiled code from the source code if the search does not identify the compiled code in the cache that satisfies the compilation request, wherein the compiler is configured to compile source codes from a plurality of independent client applications; and providing the application with a reply including the compiled code from the cache if the search identifies the compiled code in the cache that satisfies the compilation request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer implemented method, comprising:
-
identifying a compiler to compile a source code for an application according to a JIT compilation request from the application; determining if the identified compiler is currently loaded in a memory; invoking the identified compiler into the memory, if the identified compiler is not yet loaded, the identified compiler corresponding to a process created uniquely for the identified compiler; and sending the JIT compilation request to the process corresponding to the identified compiler to compiled the source code. - View Dependent Claims (14, 15, 16)
-
-
17. A computer implemented method, comprising:
-
requesting a compilation of a source code into an executable code, the requesting being directed to a compiler server; executing the executable code, if the executable code is available from the compiler server; and invoking an interpreter to interpret the source code before the executable code is available from the compiler server. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A machine-readable storage medium having instructions, when executed by a machine, cause the machine to perform a method comprising:
-
in response to receiving a compilation request from an application to compile a source code, searching a cache for a compiled code that satisfies the compilation request; instructing a compiler to build the compiled code from the source code if the search does not identify the compiled code in the cache that satisfies the compilation request, wherein the compiler is configured to compile source codes from a plurality of independent client applications; and providing the application with a reply including the compiled code from the cache if the search identifies the compiled code in the cache that satisfies the compilation request.
-
-
23. A machine-readable storage medium having instructions, when executed by a machine, cause the machine to perform a method, the comprising:
-
identifying a compiler to compile a source code for an application according to a JIT compilation request from the application; determining if the identified compiler is currently loaded in a memory; invoking the identified compiler into the memory, if the identified compiler is not yet loaded, the identified compiler corresponding to a process uniquely created for the identified compiler; and sending the JIT compilation request to the process corresponding to the identified compiler to compiled the source code.
-
-
24. A machine-readable storage medium having instructions, when executed by a machine, cause the machine to perform a method, the method comprising:
-
requesting a compilation of a source code into an executable code, the request being directed to a compiler server; executing the executable code, if the executable code is available from the compiler server; and invoking an interpreter to interpret the source code before the executable code is available from the compiler server.
-
-
25. An apparatus, comprising:
-
a memory storing executable instructions a cache storing one or more compiled codes indexed according representations of source codes respectively corresponding to the compiled codes; and a processor coupled to memory and the cache, the processor being configured to execute the executable instructions from the memory to; in response to receiving a compilation request from an application to compile a source code, search the cache for a compiled code that satisfies the compilation request; instruct a compiler to build the compiled code from the source code if the search does not identify the compiled code in the cache that satisfies the compilation request, wherein the compiler is configured to compile source codes from a plurality of independent client applications; and provide the application with a reply including the compiled code from the cache if the search identifies the compiled code in the cache that satisfies the compilation request.
-
-
26. An apparatus, comprising:
-
a memory storing executable instructions for one or more applications and a compiler server; a cache storing one or more compiled codes indexed according to representations of source codes respectively corresponding to the compiled codes; and a processor coupled to memory and the cache, the processor being configured to execute the executable instructions from the memory to; request a compilation of a source code into an executable code, the requesting being directed to the compiler server; execute the executable code in a process for the application, if the retrieval from the compiler server is successful, wherein the compiler server and the application are running in separate processes; and invoke an interpreter to interpret the source code in the process for the application, if the retrieval from the compiler server is not successful.
-
-
27. A machine-readable storage medium having instructions, when executed by a machine, cause the machine to perform a method, method comprising:
-
receiving at a compiler server, a first run time compilation request from a first application which is executing to compile a first source code; instructing one or more compilers, each loaded in a separate process, to build compiled code from the first source code; receiving at the compiler server, a second run time compilation request from a second application which is executing to compile a second source code; and instructing the one or more compilers to build compiled code from the second source code.
-
Specification