The Smalltalk programming language allows contexts (stack frames) to be accessed and manipulated in very general ways. This sometimes requires that contexts be retained even after they have terminated executing, and that they be reclaimed other than by LIFO stack discipline. The authoritative definition of Smalltalk [Goldberg and Robson 831 use s reference counting garbage collection to manage contexts, an approach found to be inadequate i n practice [Krasner, et al . 831 . Deutsch and Schiffman have described a technique that uses an actual stack as much as possible [Deutsch and Schiff - man 84]. Here we offer a less complex techniqu e that we expect will have lower total overhead an d reclaim many frames sooner and more easily. We are implementing our technique as part of a stat e of the art Smalltalk interpreter . The approach may apply to other languages that allow indefinite lifetimes for execution contexts, be they interpreted or compiled.
Available at: http://works.bepress.com/eliot_moss/61/