Efficient implementation of the smalltalk-80 system

@inproceedings{Deutsch1984EfficientIO,
  title={Efficient implementation of the smalltalk-80 system},
  author={L. Peter Deutsch and Allan M. Schiffman},
  booktitle={POPL '84},
  year={1984}
}
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… Expand
Compiling Smalltalk-80 to a RISC
TLDR
The compiler and how it was affected by SOAR architectural features are described, suggesting that SOAR is not simple enough; several hardware features could be efficiently replaced by instruction sequences constructed by the compiler. Expand
Compiling Smalltalk-80 to a RISC
TLDR
The compiler and how it was affected by SOAR architectural features are described, suggesting that SOAR is not simple enough; several hardware features could be efficiently replaced by instruction sequences constructed by the compiler. Expand
QUICKTALK: a Smalltalk-80 dialect for defining primitive methods
TLDR
QUICKTALK achieves improved performance over bytecodes by eliminating the interpreter loop on bytecode execution, by reducing the number of message send/returns via binding some target methods at compilation, and by eliminating redundant class checking. Expand
Quicktalk: A Smalltalk-80 Dialect for Defining Primitive Methods
TLDR
QUICKTALK achieves improved performance over bytecodes by eliminating the interpreter loop on bytecode execution, by reducing the number of message send/returns via binding some target methods at compilation, and by eliminating redundant class checking. Expand
Efficient Implementation of the Graphical Input/Output for Smalltalk-80
TLDR
This paper describes the experiences gained from implementing the v-machine on a specific hardware configuration in which a separate I/O-processor for driving the bitmap terminal, and respecify the Smalltalk-80 I/ O-primitives in Smalltalk in terms of a set of more low-level operations. Expand
SOAR: Smalltalk without bytecodes
TLDR
Measurements suggest that even a conventional computer can provide high performance for Smalltalk-80 by abandoning the 'Smalltalk Virtual Machine' in favor of compiling Smalltalk directly to SOAR machine code, linearizing the activation records on the machine stack, eliminating the object table, and replacing reference counting with a new technique called Generation Scavenging. Expand
SOAR: Smalltalk Without Bytecodes
TLDR
Measurements suggest that even a conventional computer can provide high performance for Smalltalk-80 by abandoning the 'Smalltalk Virtual Machine' in favor of compiling Smalltalk directly to SOAR machine code, linearizing the activation records on the machine stack, eliminating the object table, and replacing reference counting with a new technique called Generation Scavenging. Expand
Back to the future: the story of Squeak, a practical Smalltalk written in itself
Squeak is an open, highly-portable Smalltalk implementation whose virtual machine is written entirely in Smalltalk, making it easy to. debug, analyze, and change. To achieve practical performance, aExpand
Efficient Multimethods in a Single Dispatch Language
TLDR
This paper can be seen as a lens through which the design issues raised by multimethods, as well as by using metaobjects to build them, can be more closely examined. Expand
Architecture of SOAR: Smalltalk on a RISC
TLDR
Initial evaluations of the effectiveness of the SOAR architecture by compiling and simulating benchmarks, and will prove SOAR's feasibility by fabricating a 35,000-transistor SOAR chip suggest that a Reduced Instruction Set Computer can provide high performance in an exploratory programming environment. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 24 REFERENCES
Smalltalk-80: The Language and Its Implementation
TLDR
This book is the first detailed account of the Smalltalk-80 system and is divided into four major parts: an overview of the concepts and syntax of the programming language, a specification of the system's functionality, and an example of the design and implementation of a moderate-size application. Expand
Smalltalk-80 - the interactive programming environment
TLDR
This book describes the process by which Smalltalk was introduced to people outside Xerox PARC, where it was developed, and the way in which it was made public. Expand
An efficient, incremental, automatic garbage collector
This paper describes a new way of solving the storage reclamation problem for a system such as Lisp that allocates storage automatically from a heap, and does not require the programmer to give anyExpand
Levels of representation of programs and the architecture of universal host machines
TLDR
The architecture and organization of a universal host machine, incorporating this strategy, is outlined and the potential performance gains due to dynamic translation are studied. Expand
The portability of the BCPL compiler
TLDR
The method of transferring the BCPL compiler is described including the specification of OCODE which is the language used as an interface between the machine independent and machine dependent parts of the compiler. Expand
Machine-independent PASCAL code optimization
TLDR
A variant of PASCAL pseudo-code which is suitable for optimization is presented, and is designed to be easily extended to meet the needs of a variety of target machines. Expand
Threaded code
The concept of “threaded code” is presented as an alternative to machine language code. Hardware and software realizations of it are given. In software it is realized as interpretive code not needingExpand
Intedisp Reference Manual
  • Xerox Special Inforrnation Systems
  • 1983
Robson. I)., "Smalltalk-80: The i.anguage and its Implementation
  • Robson. I)., "Smalltalk-80: The i.anguage and its Implementation
  • 1983
Smalltalk on a RISC: Architectural Investigations (ProceedingsofCS 292R)
  • Smalltalk on a RISC: Architectural Investigations (ProceedingsofCS 292R)
  • 1983
...
1
2
3
...