• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

An Optimizing Backend for the ML Kit Using a Stack of Regions (1995)

by Martin Elsman, Niels Hallenberg
Add To MetaCart

Tools

Sorted by:
Results 1 - 7 of 7

Region-Based Memory Management

by Mads Tofte, Jean-Pierre Talpin , 1997
"... This paper describes a memory management discipline for programs that perform dynamic memory allocation and de-allocation. At runtime, all values are put into regions. The store consists of a stack of regions. All points of region allocation and deallocation are inferred automatically, using a type ..."
Abstract - Cited by 268 (8 self) - Add to MetaCart
This paper describes a memory management discipline for programs that perform dynamic memory allocation and de-allocation. At runtime, all values are put into regions. The store consists of a stack of regions. All points of region allocation and deallocation are inferred automatically, using a type and effect based program analysis. The scheme does not assume the presence of a garbage collector. The scheme was first presented by Tofte and Talpin (1994); subsequently, it has been tested in The ML Kit with Regions, a region-based, garbage-collection free implementation of the Standard ML Core language, which includes recursive datatypes, higher-order functions and updatable references (Birkedal et al. 96, Elsman and Hallenberg 95). This paper defines a region-based dynamic semantics for a skeletal programming language extracted from Standard ML. We present the inference system which specifies where regions can be allocated and de-allocated and a detailed proof that the system is sound wi...

From Region Inference to von Neumann Machines via Region Representation Inference

by Lars Birkedal, Mads Tofte, Magnus Vejlstrup, Nkt Elektronik - In Twenty-Third ACM Symposium on Principles of Programming Languages , 1996
"... Region Inference is a technique for implementing programming languages that are based on typed call-by-value lambda calculus, such as Standard ML. The mathematical runtime model of region inference uses a stack of regions, each of which can contain an unbounded number of values. This paper is concer ..."
Abstract - Cited by 86 (7 self) - Add to MetaCart
Region Inference is a technique for implementing programming languages that are based on typed call-by-value lambda calculus, such as Standard ML. The mathematical runtime model of region inference uses a stack of regions, each of which can contain an unbounded number of values. This paper is concerned with mapping the mathematical model onto real machines. This is done by composing region inference with Region Representation Inference, which gradually refines region information till it is directly implementable on conventional von Neumann machines. The performance of a new region-based ML compiler is compared to the performance of Standard ML of New Jersey, a state-of-the-art ML compiler. 1 Introduction It has been suggested that programming languages which are based on typed call-by-value lambda calculus can be implemented using regions for memory management[17]. At runtime, the store consists of a stack of regions. All values, including function closures, are put into regions. Reg...

Combining Region Inference and Garbage Collection

by Niels Hallenberg, Martin Elsman, Mads Tofte , 2002
"... This paper describes a memory discipline that combines region-based memory management and copying garbage collection by extending Cheney's copying garbage collection algorithm to work with regions. The paper presents empirical evidence that region inference very significantly reduces the number of g ..."
Abstract - Cited by 40 (2 self) - Add to MetaCart
This paper describes a memory discipline that combines region-based memory management and copying garbage collection by extending Cheney's copying garbage collection algorithm to work with regions. The paper presents empirical evidence that region inference very significantly reduces the number of garbage collections; and evidence that the fastest execution is obtained by using regions alone, without garbage collection.

A Retrospective on Region-Based Memory Management

by Mads Tofte, Lars Birkedal, Martin Elsman, Niels Hallenberg - Higher-Order and Symbolic Computation Journal , 2004
"... We report on our experience with designing, implementing, proving correct, and evaluating a region-based memory management system. ..."
Abstract - Cited by 10 (0 self) - Add to MetaCart
We report on our experience with designing, implementing, proving correct, and evaluating a region-based memory management system.

A Region Profiler for a Standard ML compiler based on Region Inference

by Niels Hallenberg, Supervisor Mads Tofte , 1996
"... In this report we present the region profiler used in the ML Kit (a Standard ML compiler that uses region inference, [7]). The profiler is based on work done by Colin Runciman and David Wakeling ([17]) on a heap profiler for lazy functional programs. The profiler can be used to reduce memory usage o ..."
Abstract - Cited by 4 (4 self) - Add to MetaCart
In this report we present the region profiler used in the ML Kit (a Standard ML compiler that uses region inference, [7]). The profiler is based on work done by Colin Runciman and David Wakeling ([17]) on a heap profiler for lazy functional programs. The profiler can be used to reduce memory usage of programs compiled with the ML Kit. Hints and examples on writing programs in a more region friendly way are given. Supervisor: Mads Tofte 1 June 14, 1996 2 Contents 1 Introduction 3 2 Profiling in the ML Kit 4 3 Region inference 5 3.1 Region annotated lambda program : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 3.2 Region annotated terms : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 3.3 Inference Rules : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7 3.4 Multiplicity and physical size inference : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 3.5 Storage mode analysis : : : ...

Polymorphic Equality - No Tags Required

by Martin Elsman - In Proceedings of the 2nd International Workshop on Types in Compilation, Kyoto , 1989
"... . Polymorphic equality is a controversial language construct. While being convenient for the programmer, it has been argued that polymorphic equality (1) invites to violation of software engineering principles, (2) lays a serious burden on the language implementor, and (3) enforces a runtime overhea ..."
Abstract - Cited by 4 (0 self) - Add to MetaCart
. Polymorphic equality is a controversial language construct. While being convenient for the programmer, it has been argued that polymorphic equality (1) invites to violation of software engineering principles, (2) lays a serious burden on the language implementor, and (3) enforces a runtime overhead due to the necessity of tagging values at runtime. We show that neither (2) nor (3) are inherent to polymorphic equality by showing that one can compile programs with polymorphic equality into programs without polymorphic equality in such a way that there is no need for tagging or for runtime type analysis. Also, the translation is the identity on programs that do not use polymorphic equality. Experimental results indicate that even for programs that use polymorphic equality, the translation gives good results. 1 Introduction Often, statically typed languages, like ML, provide the programmer with a generic function for checking structural equality of two values of the same type. To avoid ...

Region Inference with Rank-2 Intersection Types and its Formalization in Isabelle

by Ian Westmacott, Robert Muller, Joe B. Wells , 1999
"... This working paper develops a Tofte-Talpin style region inference system... this paper have been formalized in Isabelle and all proofs have been mechanically verified. ..."
Abstract - Add to MetaCart
This working paper develops a Tofte-Talpin style region inference system... this paper have been formalized in Isabelle and all proofs have been mechanically verified.
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University