Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Performance and evaluation of LISP systems
Performance and evaluation of LISP systems
Programming with sets; an introduction to SETL
Programming with sets; an introduction to SETL
Structure and interpretation of computer programs
Structure and interpretation of computer programs
Common LISP: the language
LISP on a reduced-instruction-set-processor
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Automatic Derivation of Code Generators from Machine Descriptions
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Experience with the SETL Optimizer
ACM Transactions on Programming Languages and Systems (TOPLAS)
An empirical study of list structure in Lisp
Communications of the ACM
Automatic data structure selection: an example and overview
Communications of the ACM
Abstract data types and the development of data structures
Communications of the ACM
MC 68000 16-Bit Microprocessor User's Manual
MC 68000 16-Bit Microprocessor User's Manual
A constructive alternative to axiomatic data type definitions
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
The selection of efficient implementations for a high-level language
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
The compleat guide to MRS
An open-ended data representation model for EU_LISP
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Incremental dynamic semantics for language-based programming environments
ACM Transactions on Programming Languages and Systems (TOPLAS)
The runtime environment for Scheme, a Scheme implementation on the 88000
ASPLOS III Proceedings of the third international conference on Architectural support for programming languages and operating systems
Java object header elimination for reduced memory consumption in 64-bit virtual machines
ACM Transactions on Architecture and Code Optimization (TACO)
Hi-index | 0.00 |
Language implementation is in need of automation. Although compiler construction has long been aided by parser generators and other tools, interpreters and runtime systems have been neglected, even though they constitute a large component of languages like Lisp, Prolog, and Smalltalk. Of the several parts of a runtime system, the primitive datatype definitions present some of the most difficult decisions for the implementor. The effectiveness of type discrimination schemes, interactions between storage allocation and virtual memory, and general time/space tradeoffs are issues that have no simple resolution-they must be evaluated for each implementation. A formalism for describing implementations has been developed and used in a prototype designer of primitive data structures. The designer is a collection of heuristic rules that produce multiple designs of differing characteristics. Cost evaluation on machine code derived from those designs yields performance formulas, which are then used to estimate the designs' effect on benchmark programs.