Efficient Implementation of the Smalltalk-80 System
L. Deutsch, and A. Schiffman. POPL '84: Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, page 297--302. ACM, (1984)
DOI: 10.1145/800017.800542
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.
Description
Efficient implementation of the smalltalk-80 system
%0 Conference Paper
%1 Deutsch:1984:ES
%A Deutsch, L. Peter
%A Schiffman, Allan M.
%B POPL '84: Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
%D 1984
%I ACM
%K Cache Inline Optimization Smalltalk VM
%P 297--302
%R 10.1145/800017.800542
%T Efficient Implementation of the Smalltalk-80 System
%X 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.
%@ 0-89791-125-3
@inproceedings{Deutsch:1984:ES,
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.},
added-at = {2009-08-22T17:07:06.000+0200},
author = {Deutsch, L. Peter and Schiffman, Allan M.},
biburl = {https://www.bibsonomy.org/bibtex/2e93f7dc5b773c8a615d3de4aa468bea4/gron},
booktitle = {POPL '84: Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages},
description = {Efficient implementation of the smalltalk-80 system},
doi = {10.1145/800017.800542},
interhash = {986ced5eb69049dcd649f0dfffab95f4},
intrahash = {e93f7dc5b773c8a615d3de4aa468bea4},
isbn = {0-89791-125-3},
keywords = {Cache Inline Optimization Smalltalk VM},
location = {Salt Lake City, Utah, United States},
pages = {297--302},
publisher = {ACM},
timestamp = {2020-03-12T23:50:40.000+0100},
title = {Efficient Implementation of the Smalltalk-80 System},
year = 1984
}