Analyzing binding extent in 3CPS
Analyzing binding extent in 3CPS
复制标题
分析 3CPS 中的结合程度
DOI:
10.1145/3547645
复制
发表时间:
2022
影响因子:
--
通讯作者:
Shivers, Olin
中科院分区:
文献类型:
--
作者:
Quiring, Benjamin;Reppy, John;Shivers, Olin
To date, the most effective approach to compiling strict, higher-order functional languages (such as OCaml, Scheme, and SML) has been to use whole-program techniques to convert the program to a first-order monomorphic representation that can be optimized using traditional compilation techniques. This approach, popularized by MLton, has limitations, however. We are interested in exploring a different approach to compiling such languages, one that preserves the higher-order and polymorphic character of the program throughout optimization. To enable such an approach, we must have effective analyses that both provide precise information about higher-order programs and that scale to larger units of compilation. This paper describes one such analysis for determining theextentof variable bindings. We classify the extent of variables as eitherregister(only one binding instance can be live at any time),stack(the lifetimes of binding instances obey a LIFO order), orheap(binding lifetimes are arbitrary). These extents naturally connect variables to the machine resources required to represent them. We believe that precise information about binding extents will enable efficient management of environments, which is a key problem in the efficient compilation of higher-order programs.At the core of the paper is the 3CPS intermediate representation, which is a factored CPS-based intermediate representation (IR) that statically marks variables to indicate their binding extent. We formally specify the management of this binding structure by means of a small-step operational semantics and define a static analysis that determines the extents of the variables in a program. We evaluate our analysis using a standard suite of SML benchmark programs. Our implementation gets surprisingly high yield and exhibits scalable performance. While this paper uses a CPS-based IR, the algorithm and results are easily transferable to other λ-calculus IRs, such as ANF.
登录
查看更多内容
影响因子:
1.1
作者:
Pieter H. Hartel;Marc Feeley;M. Alt;Lennart Augustsson;Peter Baumann;M. Beemster;Emmanuel Chailloux;Christine H. Flood;Wolfgang Grieskamp;John H. G. van Groningen;Kevin Hammond;Bogumil Hausman;M. Ivory;Richard E. Jones;J. Kamperman;Peter Lee;Xavier Leroy;R. D. Lins;S. Loosemore;Niklas Röjemo;Manuel Serrano;J. Talpin;J. Thackray;Stephen Thomas;Pum Walters;Pierre Weis;Peter Wentworth
通讯作者:
Peter Wentworth
影响因子:
1.1
作者:
A. Tolmach;D. Oliva
通讯作者:
D. Oliva
影响因子:
0.6
作者:
Vardoulakis, Dimitrios;Shivers, Olin
通讯作者:
Shivers, Olin
DOI:
10.1145/1159876.1159877
发表时间:
2006
期刊:
Higher-Order and Symbolic Computation
影响因子:
--
作者:
Stephen Weeks
通讯作者:
Stephen Weeks
影响因子:
4.6
作者:
F. L. Fessant;Luc Maranget
通讯作者:
Luc Maranget