Programming Languages and Systems (TOPLAS)


Search Issue
enter search term and/or author name


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

Identifying loops using DJ graphs
Vugranam C. Sreedhar, Guang R. Gao, Yong-Fong Lee
Pages: 649-658
DOI: 10.1145/236114.236115
Loop identification is a necessary step in loop transformations for high-performance architectures. One classical technique for detecting loops is Tarjan's interval-finding algorithm. The intervals identified by Tarjan's method are single-entry,...

Using dataflow analysis techniques to reduce ownership overhead in cache coherence protocols
Jonas Skeppstedt, Per Stenström
Pages: 659-682
DOI: 10.1145/236114.236116
In this article, we explore the potential of classical dataflow analysis techniques in removing overhead in write-invalidate cache coherence protocols for shared-memory multiprocessors. We construct the compiler algorithms with varying degree of...

Demand-driven register allocation
Todd A. Proebsting, Charles N. Fischer
Pages: 683-710
DOI: 10.1145/236114.236117
A new global register allocation technique, demand-driven register allocation, is described. Demand-driven register allocation quantifies the costs and benefits of allocating variables to registers over live ranges so that...

A natural semantics for Eiffel dynamic binding
Isabelle Attali, Denis Caromel, Sidi Ould Ehmety
Pages: 711-729
DOI: 10.1145/236114.236118
This article formally defines Eiffel dynamic binding in presence of renaming and redefinition. Message passing, inheritance, and polymorphism are expressed in an operational style using natural semantics. From the formal specification, we derive...

Eta-expansion does The Trick
Olivier Danvy, Karoline Malmkjær, Jens Palsberg
Pages: 730-751
DOI: 10.1145/236114.236119
Partial-evaluation folklore has it that massaging one's source programs can make them specialize better. In Jones, Gomard, and Sestoft's recent textbook, a whole chapter is dedicated to listing such “binding-time improvements”:...

Parameter passing and control stack management in Prolog implementation revisited
Neng-Fa Zhou
Pages: 752-779
DOI: 10.1145/236114.236120
Parameter passing and control stack management are two of the crucial issues in Prolog implementation. In the Warren Abstract Machine (WAM), the most widely used abstract machine for Prolog implementation, arguments are passed through argument...