The conference materials contain 33 papers. The topics covered include compiling lazy pattern matching, garbage collection, parsers in ML, interactive modular programming, finiteness conditions for fixed point iterati...
详细信息
ISBN:
(纸本)0897914813
The conference materials contain 33 papers. The topics covered include compiling lazy pattern matching, garbage collection, parsers in ML, interactive modular programming, finiteness conditions for fixed point iteration, abstract interpretation in weak power domains, data abstraction, type inference, global tagging optimization, calculus for overloaded functions, the Python compiler for CMU common LISP, Tachyon common LISP, confluent calculus of macro expansion and evaluation, dynamic program parallelization, fast parallel implementation of lazy languages, and efficient multi-threaded scheme system.
An abstract machine is described for the CLP(R) programminglanguage. It is intended as a first step towards enabling CLP(R) programs to be executed with efficiency approaching that of conventional languages. The core...
详细信息
ISBN:
(纸本)0897914759
An abstract machine is described for the CLP(R) programminglanguage. It is intended as a first step towards enabling CLP(R) programs to be executed with efficiency approaching that of conventional languages. The core Constraint Logic Arithmetic Machine (CLAM) extends the Warren Abstract Machine (WAM) for compiling Prolog with facilities for handling real arithmetic constraints. The full CLAM includes facilities for taking advantage of information obtained from global program analysis.
This conferenceproceedings contains 34 papers. The following topics are dealt with: abstract interpretation;parallel languages;languageimplementation;multiparadigm languages;distributed languages;and object-oriented...
详细信息
ISBN:
(纸本)0818625856
This conferenceproceedings contains 34 papers. The following topics are dealt with: abstract interpretation;parallel languages;languageimplementation;multiparadigm languages;distributed languages;and object-oriented languages.
This paper describes a general framework for representing iteration-reordering transformations. These transformations can be both matrix-based and non-matrix-based. Transformations are defined by rules for mapping dep...
详细信息
ISBN:
(纸本)0897914759
This paper describes a general framework for representing iteration-reordering transformations. These transformations can be both matrix-based and non-matrix-based. Transformations are defined by rules for mapping dependence vectors, rules for mapping loop bound expressions, and rules for creating new initialization statements. The framework is extensible, and can be used to represent any iteration-reordering transformation. Mapping rules for several common transformations are included in the paper.
This paper describes EQUALS, a fast parallel implementation of a lazy functional language on a commercially available shared-memory parallel machine, the Sequent Symmetry. In contrast to previous implementations, we d...
详细信息
ISBN:
(纸本)0897914813
This paper describes EQUALS, a fast parallel implementation of a lazy functional language on a commercially available shared-memory parallel machine, the Sequent Symmetry. In contrast to previous implementations, we detect parallelism automatically by propagating exhaustive (normal form) demand. Another important difference between EQUALS and previous implementations is the use of reference counting for memory management instead of garbage collection. Our implementation shows that reference counting leads to very good scalability, low memory requirements and improved locality. We compare our results with sequential SML/NJ as well as parallel 〈ν, G〉-machine and GAML implementations.
During execution, when two or more names exist for the same location at some program point, we call them aliases. In a language which allows arbitrary pointers, the problem of determining aliases at a program point is...
详细信息
ISBN:
(纸本)0897914759
During execution, when two or more names exist for the same location at some program point, we call them aliases. In a language which allows arbitrary pointers, the problem of determining aliases at a program point is P-space-hard [Lan92]. We present an algorithm for the Conditional May Alias problem, which can be used to safely approximate Interprocedural May Alias in the presence of pointers. This algorithm is as precise as possible in the worst case and has been implemented in a prototype analysis tool for C programs. Preliminary speed and precision results are presented.
A new global register allocation technique, probabilistic register allocation, is described. Probabilistic register allocation quantifies the costs and benefits of allocating variables to registers over live ranges so...
详细信息
ISBN:
(纸本)0897914759
A new global register allocation technique, probabilistic register allocation, is described. Probabilistic register allocation quantifies the costs and benefits of allocating variables to registers over live ranges so that excellent allocation choices can be made. Local allocation is done first, and then global allocation is done iteratively beginning in the the most deeply nested loops. Because local allocation precedes global allocation, probabilistic allocation does not interfere with the use of well-known, high-quality local register allocation and instruction scheduling techniques.
Functional-style programming and languages have an important role to play in the software life cycle, but for a variety of technical and organisational reasons are of limited utility until they are integrated with exi...
详细信息
HoME is a version of Smalltalk which can be efficiently executed on a multiprocessor and can be executed in parallel by combining a Smalltalk process with a Mach thread and executing the process on the thread. HoME is...
详细信息
ISBN:
(纸本)0897914759
HoME is a version of Smalltalk which can be efficiently executed on a multiprocessor and can be executed in parallel by combining a Smalltalk process with a Mach thread and executing the process on the thread. HoME is nearly the same as ordinary Smalltalk except that multiple processes may execute in parallel. Thus, almost all applications running on ordinary Smalltalk can be executed on HoME without changes in their code. HoME was designed and implemented based on the following fundamental policies: (1) theoretically, an infinite number of processes can become active;(2) the moment a process is scheduled, it becomes active;(3) no process switching occurs;(4) HoME is equivalent to ordinary Smalltalk except for the previous three policies. The performance of the current implementation of HoME running on OMRON LUNA-88K, which had four processors, was measured by benchmarks which execute in parallel with multiple processes. In all benchmarks, the results showed that HoME's performance is much better than HPS on the same workstation.
We present a bit-vector algorithm for the optimal and economical placement of computations within flow graphs, which is as efficient as standard uni-directional analyses. The point of our algorithm is the decompositio...
详细信息
ISBN:
(纸本)0897914759
We present a bit-vector algorithm for the optimal and economical placement of computations within flow graphs, which is as efficient as standard uni-directional analyses. The point of our algorithm is the decomposition of the bi-directional structure of the known placement algorithms into a sequence of a backward and a forward analysis, which directly implies the efficiency result. Moreover, the new compositional structure opens the algorithm for modification: two further uni-directional analysis components exclude any unnecessary code motion. This laziness of our algorithm minimizes the register pressure, which has drastic effects on the run-time behaviour of the optimized programs in practice, where an economical use of registers is essential.
暂无评论