Proceedings of the 1986 ACM Conference on LISP and Functional Programming - LFP '86 1986
DOI: 10.1145/319838.319851
|View full text |Cite
|
Sign up to set email alerts
|

Design of an optimizing, dynamically retargetable compiler for common Lisp

Abstract: We outline the components of a retargetable cross-compiler for the Common Lisp language. A description is given of a method for modeling the various hardware features in the compiler's database, and a breakdown is shown of the compiler itself into various machine-independent and machine-dependent modules. A novel feature of this development is the dynamic nature of the retargeting: Databases for multiple hardware architectures are a standard part of the compiler, and the internal interfaces used by the compile… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
4
0

Year Published

1987
1987
2011
2011

Publication Types

Select...
3
2
1

Relationship

0
6

Authors

Journals

citations
Cited by 23 publications
(4 citation statements)
references
References 6 publications
0
4
0
Order By: Relevance
“…In reaction, static type inference systems were developed [4,21], based on recognizing type-specific operators and standard function calls, in particular, for statically detecting and efficiently compiling numerical operations.…”
Section: Lisp Machinesmentioning
confidence: 99%
“…In reaction, static type inference systems were developed [4,21], based on recognizing type-specific operators and standard function calls, in particular, for statically detecting and efficiently compiling numerical operations.…”
Section: Lisp Machinesmentioning
confidence: 99%
“…For this reason, we first optimized PSL run,time checking [19] to make its performance comparable to that of some newer, optimized LISP systems [3,11]. In this section, we describe what data types are used in our test programs, and how type checking is done for those types.…”
Section: Run-time Checking and Generic Operationsmentioning
confidence: 99%
“…LISP usually requires run-time checking on an operations, bat there are several important cases where these checks are not required. First, when the compiler can determine the type of an operand based on the program context [12], or when the programmer uses variable declarations or type specific operators [16,13,3], the type checking operations can be removed without affecting correctness or security. Second, many LISP compilers have a flag that determines whether the compiler will give priority to speed or to safety [17].…”
Section: Time Spent On Tag Operationsmentioning
confidence: 99%
“…We do not address in this paper the implications of the details for other environments, presenting instead a case study of the social and technical effects observed in this single domain. In particular, we do not address the issues involved in cross-compiling Common Lisp for a different machine architecture, as these have been discussed elsewhere (see for example [5] and references therein).…”
Section: Introductionmentioning
confidence: 99%