Reference escape analysis
Young Gil Park, Benjamin Goldberg · 1991
In reference counting schemes for automatically reclaiming storage, each time a reference to an object is created or destroyed, the reference count of the object needs to be updated.This may involve expensive inter-processor message exchanges in distributed environments.This overhead can be reduced by analyzing the lifetimes of references to avoid unnecessary updatings.This paper describes a technique for reducing the runtime reference counting overhead through compile-time optimization.We present a compile-time analysis called re~erence escape analysis for higher-order functional languages that determines whether the lifetime of a reference ezceeds the lifetime of the environment in which the reference was created.Using this statically inferred information, a method for optimizing reference counting schemes is described.Our method can be applied to reference counting schemes in both uniprocessor and multiprocessor environments.