Patent ID: 7243339
Filing Date: 2007-07-10
Classification: G06F

Abstract:
1. A method to analyze a computer program that includes a plurality of executable blocks of code, the method comprising: receiving a block of code to a code cache; using a code block frequency counter for tracking each time said block of code is executed on said code cache, wherein additional code for incrementing said code block frequency counter is dynamically added to said block of code as said computer program is executed; maintaining a counter cache for storing each said code block frequency counter of said block of code while said block of code is stored on said code cache, wherein said counter cache is distinct from said code cache, such that when said block of code is executed said code block frequency counter is readily available for tracking said execution; maintaining a storage area for storing each said code block frequency counter of said block of code previously executed on said code cache, said storage area distinct from said counter cache and said code cache, said code block frequency counter being stored in said storage area after said block of code is evicted from said code cache, said block of code being evicted to make room for another block of code in said code cache, said code block frequency counter being stored for future access in a location which is distinct from said code cache and said counter cache; and in the event that said block of code is again received into said code cache for execution subsequent to being evicted, copying said code block frequency counter from said storage area to said counter cache to enable continuation of said tracking each time said block of code is executed on said code cache.