ACM Home Page
Please provide us with feedback. Feedback
Efficient implementation of the smalltalk-80 system
Full text PdfPdf (595 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages table of contents
Salt Lake City, Utah, United States
Pages: 297 - 302  
Year of Publication: 1984
ISBN:0-89791-125-3
Authors
L. Peter Deutsch  Xerox PARC, Software Concepts Group
Allan M. Schiffman  Fairchild Laboratory for Artificial Intelligence Research
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGADA: ACM Special Interest Group on Ada Programming Language
SIGAPL: ACM Special Interest Group on APL Programming Language
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 31,   Downloads (12 Months): 239,   Citation Count: 146
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/800017.800542
What is a DOI?

ABSTRACT

The Smalltalk-80* programming language includes dynamic storage allocation, full upward funargs, and universally polymorphic procedures; the Smalltalk-80 programming system features interactive execution with incremental compilation, and implementation portability. These features of modern programming systems are among the most difficult to implement efficiently, even individually. A new implementation of the Smalltalk-80 system, hosted on a small microprocessor-based computer, achieves high performance while retaining complete (object code) compatibility with existing implementations. This paper discusses the most significant optimization techniques developed over the course of the project, many of which are applicable to other languages. The key idea is to represent certain runtime state (both code and data) in more than one form, and to convert between forms when needed.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Ammann, U., Nori. Jensen, K., Nageli, H., "The Pascal (P) Compiler Implementation Notes." Institut Fur Informatik, Eidgenossische Technische Hochschule, Zurich, 1975.
 
2
Ammann, U., "On code generation in a Pascal compiler." Software Practice and Experience v7 #3. June/July 1977, pp. 391-423.
3
4
 
5
 
6
 
7
 
8
Lampson, B. W., Ed., "The Dorado: A High-Performance Personal Computer." Xerox PARC Report CSL-81-1, Palo Alto, CA, January 1981.
 
9
 
10
Moon D., Ed., Maclisp Manual pp. 3-75 to 3-77, MIT AI Laboratory Technical Report (1973).
 
11
Moore, C. H., "FORTH: a New Way to Program a Computer." Astronomy and Astrophysics Supplement, # 15 (1974) pp 497-511.
 
12
Patterson, D., Ed., "Smalltalk on a RISC: Architectural Investigations (Proceedings of CS 292R)." University of California, Berkeley, April 1983.
13
 
14
Pittman, T.J., "A Practical Optimizer: Zero-Address to Multi-Address Code." M.S. thesis, University of California, Santa Cruz, June 1980.
15
 
16
Richards, M., "The portability of the BCPL. compiler." Software, Practice and Experience vl (1971) pp. 135-146.
 
17
Software Concepts Group, special issue on Smalltalk. BYTE Magazine, volume 6, number 8, August 1981.
 
18
Masinter, L. M., Ed., "Interlisp Reference Manual," Xerox Special Information Systems, Pasadena, CA, 1983.
 
19
Zellweger, P. T., "Machine-Independent Optimization in SOPAIPILLA." The S-1 Project 1979 Annual Report (Chapter 8), Lawrence Livermore Laboratory (1979).

CITED BY  146

Collaborative Colleagues:
L. Peter Deutsch: colleagues
Allan M. Schiffman: colleagues