Priority-based code cache management
AssigneeIntel Corporation
InventorMichal Cierniak
Life of this patent
Estimating the term…
Abstract
An arrangement is provided for improving the performance of a computing system, specifically for improving the efficiency of code cache management for a system running platform-independent programs with a small memory footprint. The code cache of such a system is continuously monitored during runtime. When a condition warrants performing code cache management, the priority-based code cache management is performed based on selective code garbage collection. The code garbage collection is conducted selectively for dead methods in the code cache based on probabilities of the dead methods being reused.
Claims31
A method for improving performance of a systems running a platform-independent program, comprising:
- receiving a first code;
- compiling the first code to a second code;
- and
- performing priority-based code cache management (CCM) to ensure there is enough memory space in a code cache for the second code.
A method for managing a code cache, comprising:
- dynamically determining if a condition for triggering priority-based code cache management (CCM) has been satisfied;
- and
- performing selective code garbage collection (CGC) based on a priority of each method in the code cache.
A system, comprising:
- a virtual machine to receive a first code;
- a Just-In-Time compiler to compile the first code to a second code;
- a priority-based code cache management (CCM) mechanism to efficiently manage a code cache, and to transfer the second code to the code cache if the second code is not in the code cache;
- and
- a code garbage collector to selectively recycle dead codes in the code cache based on priority information provided by the priority-based CCM mechanism.
A system to perform priority-based code cache management (CCM), comprising:
- a plurality of surviving method counters (SMCs), each SMC corresponding to a method to measure the probability of the method being reused during runtime;
- a plurality of SMC updating mechanisms, each corresponding to an SMC to update the value of the SMC;
- and
- a surviving method determination mechanism to monitor whether a condition for triggering priority-based CCM is met at runtime and to determine which dead methods are to be recycled based on values of the plurality of SMCs.
An article comprising:
- a machine accessible medium having content stored thereon, wherein when the content is accessed by a processor, the content provides for improving performance of a system running a platform-independent program by:
- receiving a first code;
- compiling the first code to a second code;
- and
- performing priority-based code cache management (CCM) to ensure there is enough memory space in a code cache for the second code.
An article comprising:
- a machine accessible medium having content stored thereon, wherein when the content is accessed by a processor, the content provides for managing a code cache by:
- dynamically determining if a condition for triggering priority-based code cache management (CCM) has been satisfied;
- and
- performing selective code garbage collection (CGC) based on a priority of each method in the code cache.
Dependencies are inferred from the claim text.