| Markus Mohnen. Efficient compile-time garbage collection for arbitrary data structures. Technical Report 95-08, 1995. |
....to be allocated, typically in the heap. However, cells that are not accessible from the data structure returned by the function (i.e. the evaluated data field) may be considered as garbage. To address this problem, static analyses known as compile time garbage collections (ctgc) were proposed [3, 4]. Such analyses try and derive at compile time which parts of temporary data structures may be deallocated at run time, and when. Answering to when is tricky in the case of lazy evaluation because the termination point of a function call is not given. Eager evaluation, on the contrary, allows ....
....allows to get this information precisely. This paper presents a compilation technique to simultaneously parallelize and garbage collect data fields defined by uniform recurrences over polyhedral sets of integers even if our ctgc scheme is far less general than schemes presented elsewhere [3, 4]. Section 2 presents two motivating examples. Section 3 gives the intuition of our compiling scheme, and section 4 the corresponding algorithm. Section 5 compares with related work, before our conclusion. 2 Motivating Examples To motivate this work, let us take two simple examples. The first one ....
M. Mohnen. Efficient compile-time garbage collection for arbitrary data structures. In PLILP, pages 241--258, 1995.
....loss of precision in the higher order case) He has also suggested several extensions. In [5] we gave a complete implementation of escape analysis on the Caml Special Light compiler (an implementation of ML) with some extensions, and a proof of correctness as well as experimental data. Mohnen [25, 26] describes a similar analysis, but the analyzed language is restricted to first order and does not handle imperative operations. Hughes [20] already introduces integer levels to represent the escaping part of data. He does not perform stack allocation, but keeps in memory the addresses of data to ....
Mohnen, M. Efficient Compile-Time Garbage Collection for Arbitrary Data Structure. In Symposium on Programming Language Implementation and Logic Programming (PLILP'95) (1995), vol. 982 of Lecture Notes in Computer Science, Springer, pp. 241--258.
....otherwise, to republish, to post on servers or to redistribute to lists, requires specific permission and or fee. POPL 98 San Diego CA USA Copyright 1998 ACM 0 89791 979 3 98 01. 3.50 an unavoidable loss of precision in the higher order case) He has also suggested many extensions. Mohnen [30, 29] describes a similar analysis, but its complexity is quadratic and the analyzed language is first order and does not contain imperative operations. Hughes [24] already introduces integer levels to represent the escaping part of data. He does not perform stack allocation, but keeps in memory ....
Mohnen, M. Efficient compile-time garbage collection for arbitrary data structure. In PLILP'95 (1995).
.... discipline is that of compile time garbage collection, or type and data flow analyses to improve the run time performance of collection in (usually) functional languages [Appel, 1989a; Harrison, 1989; Baker, 1990; Goldberg and Gloger, 1992; Boehm and Shao, 1993; Fradet, 1994; Aditya et al. 1994; Mohnen, 1995] The primary idea is to eliminate the need for heap allocation in the first place, by proving that certain objects can be allocated on the stack instead, which is considered (although not universally, cf. Appel, 1987] to be faster. More ambitious analyses aim to provide hints to a generational ....
Markus Mohnen. Efficient compile-time garbage collection for arbitrary data structures. Technical Report 95--08, University of Aachen, May 1995. Also in Seventh International Symposium on Programming Languages, Implementations, Logics and Programs, PLILP95.
....to be allocated, typically in the heap. However, cells that are not accessible from the data structure returned by the function (i.e. the evaluated data field) may be considered as garbage. To address this problem, static analyses known as compile time garbage collections (ctgc) were proposed [3, 4]. Such analyses try and derive at compile time which parts of temporary data structures may be deallocated at run time, and when. Answering to when is tricky in the case of lazy evaluation because the termination point of a function call is not given. Eager evaluation, on the contrary, allows ....
....allows to get this information precisely. This paper presents a compilation technique to simultaneously parallelize and garbage collect data fields defined by uniform recurrences over polyhedral sets of integers even if our ctgc scheme is far less general than schemes presented elsewhere [3, 4]. Section 2 presents two motivating examples. Section 3 gives the intuition of our compiling scheme, and section 4 the corresponding algorithm. Section 5 compares with related work, before our conclusion. 2 Motivating Examples To motivate this work, let us take two simple examples. The first one ....
M. Mohnen. Efficient compile-time garbage collection for arbitrary data structures. In PLILP, pages 241--258, 1995.
.... discipline is that of compile time garbage collection, or type and data flow analyses to improve the run time performance of collection in (usually) functional languages [Appel, 1989a; Harrison, 1989; Baker, 1990; Goldberg and Gloger, 1992; Boehm and Shao, 1993; Fradet, 1994; Aditya et al. 1994; Mohnen, 1995] The primary idea is to eliminate the need for heap allocation in the first place, by proving that certain objects can be allocated on the stack instead, which is considered (although not universally, cf. Appel, 1987] to be faster. More ambitious analyses aim to provide hints to a generational ....
Markus Mohnen. Efficient compile-time garbage collection for arbitrary data structures. Technical Report 95--08, University of Aachen, May 1995. Also in Seventh International Symposium on Programming Languages, Implementations, Logics and Programs, PLILP95.
No context found.
M. Mohnen. Efficient compile-time garbage collection for arbitrary data structures. In Proceedings of PLILP 95, LNCS, 1995. to appear.
....notion denotationally, we need the ability to distinguish between original (the argument) and copy (the result) However, this difference cannot be expressed by the standard denotational semantics. The knowledge of the escape behaviour allows techniques like compile time garbage collection [ISY88,Hug92,Moh95]. To remedy this problem, the analysis could be proven to be correct in an operational setting, e.g. data flow graphs or abstract machines. But this is not attractive for denotational style semantics abstract interpretation. Moreover, this often destroys the separation between analysis on one ....
M. Mohnen. Efficient Compile-Time Garbage Collection for Arbitrary Data Structures. In Hermenegildo and Swierstra [HS95b], pages 241--258.
....argument to its result, we can be sure that a and =a will never be used after the surrounding calls to filter terminate. We will present an inheritance analysis which extracts information of this kind from a given functional program. The method is a higher order extension of work presented in [Moh95], where it was used to do compile time garbage collection of heap cells representing constructors. If a functional argument is not inherited we can create the closure on the stack instead of the heap. Therefore, on termination of the creating function call, the space occupied by the closure will ....
....investigated the possibility to allocate closures statically. Actually, compile time garbage collection is the ancestor of our method. Instead of focusing on closures, compile time garbage collection (ctgc) locates positions in a program where data cells created by constructors become obsolete. In [Moh95], we have described how to use our inheritance analysis for ctgc. The location of memory reuse determines at which point of the execution a garbage cell is reused. An immediate reuse (like in [JM89] has the advantage of keeping the number of garbage cells small at the price of frequent ....
[Article contains additional citation context not shown here]
M. Mohnen. Efficient compile-time garbage collection for arbitrary data structures. In Proceedings of PLILP 95, LNCS, 1995. to appear.
No context found.
Markus Mohnen. Efficient compile-time garbage collection for arbitrary data structures. Technical Report 95-08, 1995.
No context found.
Markus Mohnen. Efficient compile-time garbage collection for arbitrary data structures. Technical Report 95-08, 1995.
No context found.
Markus Mohnen. Efficient compile-time garbage collection for arbitrary data structures. Technical Report 95--08, University of Aachen, May 1995. Also in Seventh International Symposium on Programming Languages, Implementations, Logics and Programs, PLILP95.
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