Efficient Implementation of the Smalltalk-80 System

About this paperEnglishTiếng Việt中文beside Englishbeside Tiếng Việtbeside 中文

This paper is under a licence that does not allow it to be reproduced, so what is here is its front matter and a short abstract. Read it at the publisher's page.

Smalltalk-80システムの効率的な実装

L. Peter Deutsch Xerox PARC, Software Concepts Group

Allan M. Schiffman Fairchild Laboratory for Artificial Intelligence Research

概要

Smalltalk-80*プログラミング言語は動的記憶域割り当て、完全な上向き funarg、および普遍的多相性を持つ手続きを含む。Smalltalk-80プログラミングシステムは、対話的実行、増分コンパイル、および実装の移植性を特徴とする。現代のプログラミングシステムにおけるこれらの機能は、それぞれ単独であっても効率的に実装することが最も困難なものの一つである。小規模なマイクロプロセッサベースのコンピューター上でホストされるSmalltalk-80システムの新しい実装は、既存の実装との完全な(オブジェクトコード)互換性を維持しながら、高い性能を達成している。本論文では、プロジェクトの過程で開発された最も重要な最適化技術について論じる。その多くは他の言語にも適用可能である。中心となる考え方は、特定のランタイム状態(コードとデータの両方)を複数の形式で表現し、必要に応じて形式間で変換することである。

*Smalltalk-80はXerox Corporationの商標である。

References

  1. [Ammann 75] Ammann, U., Nori, Jensen, K., Nageli, H., "The Pascal (P) Compiler Implementation Notes." Institut Fur Informatik, Eidgenossische Technische Hochschule, Zurich, 1975.
  2. [Ammann 77] Ammann, U., "On code generation in a Pascal compiler." Software Practice and Experience v7 #3, June/July 1977, pp. 391-423.
  3. [Bell 73] Bell, J. R., "Threaded Code." Communications of the ACM, v16 (1973) pp. 370-372.
  4. [Deutsch & Bobrow 76] Deutsch, L. P., Bobrow, D. G., "An efficient, incremental, real-time garbage collector." Communications of the ACM, October 1976.
  5. [Goldberg 83] Goldberg, A., Robson, D., "Smalltalk-80: The Language and its Implementation." Addison-Wesley, Reading, MA, 1983.
  6. [Goldberg 84] Goldberg, A., "Smalltalk-80: The Interactive Programming Environment." Addison-Wesley, Reading, MA, 1984.
  7. [Krasner 83] Krasner, Glenn, Ed., "Smalltalk-80: Bits of History, Words of Advice." Addison-Wesley, Reading, MA, 1983.
  8. [Lampson 81] Lampson, B. W., Ed., "The Dorado: A High-Performance Personal Computer." Xerox PARC Report CSL-81-1, Palo Alto, CA, January 1981.
  9. [Mitchell 71] Mitchell, J. G., "The Design and Construction of Flexible and Efficient Interactive Programming Systems." Ph.D. dissertation, 1971, NTIS AD 712-721, in Outstanding Dissertations in the Computer Sciences, Garland Publishing, New York (1978).
  10. [Moon 73] Moon D., Ed., MacLisp Manual pp. 3-75 to 3-77, MIT AI Laboratory Technical Report (1973).
  11. [Moore 74] Moore, C. H., "FORTH: a New Way to Program a Computer." Astronomy and Astrophysics Supplement, #15 (1974) pp 497-511.
  12. [Patterson 83] Patterson, D., Ed., "Smalltalk on a RISC: Architectural Investigations (Proceedings of CS 292R)." University of California, Berkeley, April 1983.
  13. [Perkins 79] Perkins, D. R., Sites, R. I., "Machine independent Pascal code optimization." ACM SIGPLAN Notices v14 #8 (August 1979) pp. 201-207.
  14. [Pittman 80] Pittman, T.J., "A Practical Optimizer: Zero-Address to Multi-Address Code." M.S. thesis, University of California, Santa Cruz, June 1980.
  15. [Rau 78] Rau, B. R., "Levels of Representation of Programs and the Architecture of Universal Host Machines." Proceedings of Micro-11, Asilomar, CA, November 1978.
  16. [Richards 75] Richards, M., "The portability of the BCPL compiler." Software, Practice and Experience v1 (1971) pp. 135-146.
  17. [SCG 81] Software Concepts Group, special issue on Smalltalk. BYTE Magazine, volume 6, number 8, August 1981.
  18. [XSIS 83] Masinter, L. M., Ed., "Interlisp Reference Manual." Xerox Special Information Systems, Pasadena, CA, 1983.
  19. [Zellweger 79] Zellweger, P. T., "Machine-Independent Optimization in SOPAIPII.LA." The S-1 Project 1979 Annual Report (Chapter 8), Lawrence Livermore Laboratory (1979).

Read off the page by a vision model reading the page images using olmOCR-2-7B-1025-FP8. Translated into 日本語 by gpt-5, against glossary version 6. Translated from the English.