Patent ID: 6971091
Filing Date: 2005-11-29
Classification: G06F

Abstract:
1. A sampling-based system for adaptively optimizing a computer program executing in a virtual machine execution environment, said virtual machine execution environment including one or more compiler devices for providing various levels of program optimization, said system comprising: a runtime measurements sub-system for monitoring execution of said computer program to be optimized, said monitoring including obtaining raw profile data samples and characterizing said raw profile data, said run-time measurements sub-system comprising: means for identifying instances of yield points previously inserted at distinguished locations in said program, each said yield point indicating a potential sampling operation during execution of said program; means for determining a condition for performing a sampling operation of said executing program at an identified yield point instance; and, means for performing said sampling operation of said executing program upon satisfaction of said condition, said sampling including collecting said raw profile data used in characterizing behavior of said execution environment, whereby sampling operations performed at yield points occur at a subset of the executions of yield points; a controller device for receiving said characterized raw profile data from said runtime measurements sub-system and analyzing said data for determining whether a predetermined level of program optimization for said executing program is to be performed by a compiler device, said controller generating a compilation plan in accordance with a determined level of optimization; and, a recompilation sub-system means for receiving a compilation plan from said controller and invoking a compiler device for recompiling said computer program to thereby attain said predetermined level of program optimization of said executing program in accordance with said compilation plan.