TY - JOUR AU - Schiffman, Allan M. AB - Efficient lmpl?met:tation of the Smalltalk-80 S sty_.~_qLn " I.. Peter I)cutsch Xerox PARC, Software Concepts Group Allan M. Schiffman Fairchild I.ahoratory hw Artificial Intelligence Research ABS'I'I{ACr The Smalltalk-80* programming language includes dynamic storage allocation, fuU upward limargs, and universally polymorphic procedures; file Smalllalk-80 programming system features interactive exect, tion wiflt incremental compilation, and implementation portability. These features of modern programming systems are among the most difficult tu implement efficiently, even individually. A new implemelltation o f the Small/alk-80 system, hnsted on a sinall microprocessor-based computer, achieves high performance while retaining' complete (object code) compatibility with existing implementations. This paper discusses the most significant optimization techniques developod over the course of the project, many o f which are applicable to other languages. T h e key idea is to represent certain nmtime state (both code and data) in more than one form. and to convert between fo~xns when needed. *Smalhalk-80is a trademarkof the XeroxCorporalion. BACKGROUNI) machine instruction set, similar to the Pascal P-system [Ammann 75] [Ammann 77]. One unusual feature of the Smalltalk-80 vmachine is that it makes runtime state such as procedure activations visible to tile programmer as data objects. This is similar to tile "spaghetti stack" model TI - Efficient implementation of the smalltalk-80 system DO - 10.1145/800017.800542 DA - 1984-01-15 UR - https://www.deepdyve.com/lp/association-for-computing-machinery/efficient-implementation-of-the-smalltalk-80-system-SJuVjdvqV4 DP - DeepDyve ER -