Entry Park:1992:EAL from sigplan1990.bib

Last update: Thu Apr 12 03:37:15 MDT 2012                Valid HTML 3.2!

Index sections

Top | Symbols | Numbers | Math | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

BibTeX entry

@Article{Park:1992:EAL,
  author =       "Young Gil Park and Benjamin Goldberg",
  title =        "Escape analysis on lists",
  journal =      j-SIGPLAN,
  volume =       "27",
  number =       "7",
  pages =        "116--127",
  month =        jul,
  year =         "1992",
  CODEN =        "SINODQ",
  ISBN =         "0-89791-475-9",
  ISBN-13 =      "978-0-89791-475-8",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  LCCN =         "QA76.7.S53 1992",
  bibdate =      "Sun Dec 14 09:16:22 MST 2003",
  bibsource =    "Compendex database; http://portal.acm.org/;
                 http://www.acm.org/pubs/contents/proceedings/pldi/143095/index.html",
  URL =          "http://www.acm.org:80/pubs/citations/proceedings/pldi/143095/p116-park/",
  abstract =     "Higher order functional programs constantly allocate
                 objects dynamically. These objects are typically cons
                 cells, closures, and records and are generally
                 allocated in the heap and reclaimed later by some
                 garbage collection process. This paper describes a
                 compile time analysis, called escape analysis, for
                 determining the lifetime of dynamically created objects
                 in higher order functional programs, and describes
                 optimizations that can be performed, based on the
                 analysis, to improve storage allocation and reclamation
                 of such objects. In particular, our analysis can be
                 applied to programs manipulating lists, in which case
                 optimizations can be performed to allow cons cells in
                 spines of lists to be either reclaimed immediately or
                 reused without incurring any garbage collection
                 overhead. In a previous paper on escape analysis, we
                 had left open the problem of performing escape analysis
                 on lists. Escape analysis simply determines when the
                 argument (or some part of the argument) to a function
                 call is returned by that call. This simple piece of
                 information turns out to be sufficiently powerful to
                 allow stack allocation of objects, compile-time garbage
                 collection, reduction of run-time storage reclamation
                 overhead, and other optimizations that are possible
                 when the lifetimes of objects can be computed
                 statically. Our approach is to define a high-level
                 non-standard semantics that, in many ways, is similar
                 to the standard semantics and captures the escape
                 behavior caused by the constructs in a functional
                 language. The advantage of our analysis lies in its
                 conceptual simplicity and portability (i.e. no
                 assumption is made about an underlying abstract
                 machine).",
  acknowledgement = ack-nhfb,
  affiliation =  "New York Univ",
  affiliationaddress = "New York City, NY, USA",
  annote =       "Published as part of the Proceedings of PLDI'92.",
  classification = "723.1",
  conference =   "Proceedings of the ACM SIGPLAN '92 Conference on
                 Programming Language Design and Implementation",
  conferenceyear = "1992",
  journalabr =   "SIGPLAN Not",
  keywords =     "algorithms; Compile time analysis; Computer
                 programming; Escape analysis; Higher order functional
                 programs; languages; Program compilers",
  meetingaddress = "San Francisco, CA, USA",
  meetingdate =  "Jun 17--19 1992",
  meetingdate2 = "06/17--19/92",
  sponsor =      "ACM",
  subject =      "{\bf D.3.4} Software, PROGRAMMING LANGUAGES,
                 Processors, Optimization. {\bf D.3.2} Software,
                 PROGRAMMING LANGUAGES, Language Classifications. {\bf
                 D.3.4} Software, PROGRAMMING LANGUAGES, Processors,
                 Compilers. {\bf D.3.1} Software, PROGRAMMING LANGUAGES,
                 Formal Definitions and Theory, Semantics.",
}

Related entries