Programming Languages and Systems (TOPLAS)


Search Issue
enter search term and/or author name


ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 19 Issue 6, Nov. 1997

Parallelizing nonnumerical code with selective scheduling and software pipelining
Soo-Mook Moon, Kemal Ebcioğlu
Pages: 853-898
DOI: 10.1145/267959.269966
Instruction-level parallelism (ILP) in nonnumerical code is regarded as scarce and hard to exploit due to its irregularity. In this article, we introduce a new code-scheduling technique for irregular ILP called “selective scheduling”...

Combinatory formulations of concurrent languages
N. Raja, R. K. Shyamasundar
Pages: 899-915
DOI: 10.1145/267959.269967
We design a system with six Basic Combinators and prove that it is powerful enough to embed the full asynchronous &pgr;-calculus, including replication. Our theory for constructing Combinatory Versions of...

A reflection on call-by-value
Amr Sabry, Philip Wadler
Pages: 916-941
DOI: 10.1145/267959.269968
One way to model a sound and complete translation from a source calculus into a target calculus is with an adjoint or a Galois connection. In the special case of a reflection, one also has that...

Commutativity analysis: a new analysis technique for parallelizing compilers
Martin C. Rinard, Pedro C. Diniz
Pages: 942-991
DOI: 10.1145/267959.269969
This article presents a new analysis technique, commutativity analysis, for automatically parallelizing computations that manipulate dynamic, pointer-based data structures. Commutativity analysis views the computation as composed of operations...

A practical framework for demand-driven interprocedural data flow analysis
Evelyn Duesterwald, Rajiv Gupta, Mary Lou Soffa
Pages: 992-1030
DOI: 10.1145/267959.269970
The high cost and growing importance of interprocedural data flow analysis have led to an increased interest in demand-driven algorithms. In this article, we present a general framework for developing demand-driven interprocedural data flow...

Making graphs reducible with controlled node splitting
Johan Janssen, Henk Corporaal
Pages: 1031-1052
DOI: 10.1145/267959.269971
Several compiler optimizations, such as data flow analysis, the exploitation of instruction-level parallelism (ILP), loop transformations, and memory disambiguation, require programs with reducible control flow graphs. However, not all programs...

An approach for exploring code improving transformations
Deborah L. Whitfield, Mary Lou Soffa
Pages: 1053-1084
DOI: 10.1145/267959.267960
Although code transformations are routinely applied to improve the performance of programs for both scalar and parallel machines, the properties of code-improving transformations are not well understood. In this article we present a framework...

A note on “On the conversion of indirect to direct recursion”
Ting Yu, Owen Kaser
Pages: 1085-1087
DOI: 10.1145/267959.269973
In the article “On the Conversion of Indirect to Direct Recursion”(ACM Lett. Program. Lang. 2, 1-4. pp. 151-164), a method was introduced to convert indirect to direct recursion. It was claimed that for any call...