Polyvariant Escape Analysis
Stc
-
Date: 2008-11-20
Time: 12.00
Room: BBL room 471
Speaker: Alesya Sheremet
Title: Polyvariant Escape Analysis (thesis defense)
Abstract
In this presentation I will discuss the type-based escape analysis which
is the focus of my thesis project. The purpose of escape analysis is to
predict statically, at compile time, when the parameters to a function
have a longer lifetime than the call to that function. We will discuss
escape analysis in the context of higher-order functional languages with
the call-by-value evaluation mechanism.
The expedient property of higher-order functional languages is the ability
to support functions possibly containing free variables as first-
class citizens which forces the implementation of higher-order functional
languages to represent all arguments of function type by closures.
Traditionally, languages which natively support closures allocate data on
the heap and use garbage collection for implicit memory management.
The type-based escape analysis is an optimization technique which provides
escape information in the presence of higher-order functions and allows to
detect opportunities for stack allocation for variables bindings. The
type-based approach to escape analysis can be seen as a natural extension
of the type inference process whose goal is to enrich the types with
annotations with the intention to capture the escape property of interest
statically, at compile time, without executing a program. I will discuss
how to extend the analysis with polyvariance and present an inference
algorithm which allows to detect the escaping variable bindings.