Context Management in VisualWorks 5i (1999)
Abstract:
Smalltalk-80 provides a reification of execution state in the form of context objects which represent procedure activation records. Smalltalk-80 also provides full closures with indefinite extent. These features pose interesting implementation challenges because a naïve implementation entails instantiating context objects on every method activation, but typical Smalltalk-80 programs obey stack discipline for the vast majority of activations. Both software and hardware implementations of Smalltalk-80 have mapped contexts and closure activations to stack frames but not without overhead when compared to traditional stack-based activation and return in “conventional ” languages. We present a new design for contexts and closures that significantly reduces the overall overhead of these features and imposes overhead only in code that actually manipulates execution state in the form of contexts.
Citations
| 1137 | Smalltalk-80: The Language and Its Implementation – Goldberg, Robson |
| 131 | Back to the future: The story of Squeak, A practical Smalltalk written in itself – Ingalls, Kaehler, et al. - 1997 |
| 33 | A third generation Smalltalk-80 implementation – Caudill, Wirfs-Brock - 1986 |
| 16 | BrouHaHa - A Portable Smalltalk Interpreter, in proceedings of OOPSLA'87, special issue – Miranda - 1987 |
| 11 | D.: Berkeley Smalltalk: Who Knows Where the Time Goes – Ungar, Patterson |
| 3 | The Implementation of PC – Bartley, Jensen - 1986 |
| 2 | Building control structures – Deutsch - 1981 |
| 1 | Gulik, “Building a Backtracking Facility – LaLonde, Van - 1988 |
| 1 | Swamp: a fast processor for – Lewis, Galloway, et al. - 1986 |
| 1 | Managing stack frames – Moss |
| 1 | SOAR: Smalltalk without bytecodes”, Conference proceedings on Object-oriented programming systems, languages and applications , Page 107 – Samples, Ungar, et al. - 1986 |

