| Karoline Malmkjaer. Towards efficient partial evaluation. In Schmidt |
....point. This is referred to as either polyvariant specialization , customization , or procedure cloning in the literature. As specialization points, we use conditional expressions whose test is dynamic. Experience suggests that this is a good choice [12] but further optimization is possible [15]. In a pre pass through the program, the specialization points are lambda lifted into a collection of global recursive equations. The free variables of each conditional expression are given as parameters to the recursive equation. We remark that whereas function calls are unfolded, calls to global ....
Karoline Malmkjær. Towards efficient partial evaluation. In Schmidt [17], pages 33--43.
....at this point (instead of using the default dynamic conditional strategy [5] This results in shorter and somewhat faster target code (with fewer function calls) and also faster partial evaluation. Current work by Malmkjaer addresses finding (good) specialization points automatically [14]. We have experimented with making the escape and fail continuations static; this yields bigger and or slower target programs. It is not surprising that target programs become bigger since escape and fail are the exceptional outcomes of performing an action: having three static continuations ....
Karoline Malmkjaer. Towards efficient partial evaluation. In Proc. PEPM'93, Partial Evaluation and Semantics-Based Program Manipulation, Copenhagen, Denmark, 1993. To appear.
....the redex. For efficiency of the deforestation algorithm it is of course desirable that the set ds be as small as possible, i.e. that as few residual functions as possible are introduced. A substantial line of research in mimizing the size of ds is currently being carried out in partial evaluation [Mal93]. Also, Chin [Chi93a] has some improvements over our version in this respect. We feel that these are ad hoc and tend to make the algorithm harder to understand and reason about and increase the amount of syntax needed to write down the algorithm. Nevertheless, an implementation may benefit from ....
Karoline Malmk . Towards Efficient Partial Evaluation. In Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation. Copenhagen, Denmark, 1993.
....Specialization also permits run time optimized code to be reused rather than regenerated, which saves both space and time. The memoization of runtime code generators is a simple way to achieve such reuse. Run time memoization can be quite expensive, particularly when memoizing on structured data [Mal93]. Nevertheless, preliminary experiments indicate that it is worthwhile in some applications. The development of static and dynamic strategies for controlling memoization is an interesting open problem. 4 Implementation We have implemented a prototype compiler called Fabius 5 that incorporates ....
Karoline Malmkjaer. Towards efficient partial evaluation. In Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 33--43. Association for Computing Machinery, June 1993.
....into specialized code generators, parameterized by the values of the early arguments, which generate optimized functions at run time. These code generators are memoized, so that previously optimized code is reused whenever possible. Run time memoization on structured data can be quite expensive [Mal93], so Fabius uses pointer equality. Although this form of specialization yields significant speedups for some examples, it does not always terminate [BD91] Preliminary experiments also indicate that the strategy is too aggressive in practice, since some functions do not benefit significantly from ....
Karoline Malmkjaer. Towards efficient partial evaluation. In Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 33--43. Association for Computing Machinery, June 1993.
....a type structure [12] Polyvariant specializers usually select dynamic conditional expressions as specialization points [6, 24] thus disabling the code motion rules of Figure 7. Experience, however, shows that not all dynamic conditional expressions need be treated as specialization points [28]. For these, the code motion rules of Figure 7 can apply. A polyvariant binding time analysis, in contrast to our monovariant binding time analysis, associates several binding time descriptions with each program point [8] Polyvariance obviates binding time coercions, by generating several ....
Karoline Malmkjaer. Towards efficient partial evaluation. In Schmidt
....specializers usually select dynamic conditional expressions as specialization points [Bondorf and Danvy 1991; Jones et al. 1993] thus disabling the code motion rules of Figure 8. Experience, however, shows that not all dynamic conditional expressions need be treated as specialization points [Malmkjaer 1993]. For these, the code motion rules of Figure 8 can apply. A polyvariant binding time analysis, in contrast to our monovariant bindingtime analysis, associates several binding time descriptions with each program point [Consel 1993a] Polyvariance obviates binding time coercions, by generating ....
Malmkjaer, K. 1993. Towards efficient partial evaluation. In Proceedings of the 2nd ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, D. A. Schmidt, Ed. ACM Press, New York, 33--43.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC