A semiconductor apparatus for managing a runtime computing environment, comprising: one or more substrates; and logic coupled to the one or more substrates, wherein the logic is adapted to be implemented at least partly in one or more of configurable logic or fixed-functionality hardware logic, the logic coupled to the one or more substrates to: assign a hotness score to an object having an object type based on an invocation count of objects referenced by a hot method; wherein a method is identified as hot method based on a frequency of method calls; and allocate a newly-created object to one of a hot object heap (126; 211), said hot object heap (126; 211) assigned to store hot objects in a first memory tier, or a cold object heap (127; 214), said cold object heap (127; 214) assigned to store cold objects in a second memory tier, based on the hotness score associated with the object type for the newly-created object; and migrate a plurality of objects between the hot object heap (126; 211) and the cold object heap (127; 214) based on a hotness score associated with each object, said object migration operating in an execution thread independent of an execution thread for said object allocation. one or more substrates; and logic coupled to the one or more substrates, wherein the logic is adapted to be implemented at least partly in one or more of configurable logic or fixed-functionality hardware logic, the logic coupled to the one or more substrates to: assign a hotness score to an object having an object type based on an invocation count of objects referenced by a hot method; wherein a method is identified as hot method based on a frequency of method calls; and allocate a newly-created object to one of a hot object heap (126; 211), said hot object heap (126; 211) assigned to store hot objects in a first memory tier, or a cold object heap (127; 214), said cold object heap (127; 214) assigned to store cold objects in a second memory tier, based on the hotness score associated with the object type for the newly-created object; and migrate a plurality of objects between the hot object heap (126; 211) and the cold object heap (127; 214) based on a hotness score associated with each object, said object migration operating in an execution thread independent of an execution thread for said object allocation. assign a hotness score to an object having an object type based on an invocation count of objects referenced by a hot method; wherein a method is identified as hot method based on a frequency of method calls; and allocate a newly-created object to one of a hot object heap (126; 211), said hot object heap (126; 211) assigned to store hot objects in a first memory tier, or a cold object heap (127; 214), said cold object heap (127; 214) assigned to store cold objects in a second memory tier, based on the hotness score associated with the object type for the newly-created object; and migrate a plurality of objects between the hot object heap (126; 211) and the cold object heap (127; 214) based on a hotness score associated with each object, said object migration operating in an execution thread independent of an execution thread for said object allocation.