1. A method, comprising: traversing a call graph to process functions in a program in the call graph accessing state information stored in call stack frame entries; allocating at least one call stack frame entry to the state information for each function, wherein the call stack frame entries span multiple memory levels, and wherein one function is capable of being allocated stack entries in multiple memory levels; and updating a node for each function in the call graph to indicate one memory level and an offset into the indicated memory level indicating a location of the call stack frame entries allocated to the function.