Disclosed are a method, apparatus and system for dynamically managing
layout of compiled code in a managed runtime environment. Profile
feedback is generated during runtime, based on hardware event data that
is gathered during runtime. A code manager dynamically relocates compiled
code to reduce miss events based on the profile feedback. The code
manager may also relocate virtual method tables in a virtual table region
in order to reduce data miss events. The method does not require a prior
run of an application program because profile feedback is based on event
data that is tracked by hardware during execution of the software
application and is not based on instrumented code.