1. A method for gathering code usage information to facilitate removing compiled code that has not been recently used, wherein the method operates in a mixed-mode system that supports execution of both compiled code and interpreter code, the method comprising: gathering usage information for compiled methods within an application while the application is executing; identifying compiled methods to be removed based on the usage information; and removing the identified compiled methods so that interpreter code is executed for the compiled methods instead of compiled code; whereby removing the compiled methods frees up the memory space used to store the compiled methods.