2012
DOI: 10.1007/978-3-642-28652-0_9
|View full text |Cite
|
Sign up to set email alerts
|

GC-Safe Interprocedural Unboxing

Abstract: Abstract. Modern approaches to garbage collection (GC ) require information about which variables and fields contain GC-managed pointers. Interprocedural flow analysis can be used to eliminate otherwise unnecessary heap allocated objects (unboxing), but must maintain the necessary GC information. We define a core language which models compiler correctness with respect to the GC, and develop a correctness specification for interprocedural unboxing optimizations. We prove that any optimization which satisfies ou… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
11
0

Year Published

2012
2012
2014
2014

Publication Types

Select...
3
2
1

Relationship

5
1

Authors

Journals

citations
Cited by 8 publications
(11 citation statements)
references
References 10 publications
0
11
0
Order By: Relevance
“…Accurate garbage collection imposes certain requirements on programs, needing information about which variables and object fields contain GC-managed references. Aggressive optimization such as inter-procedural object unboxing may change the GC status of variables and fields of objects [10,19]. The MIL language must support the tracking of such information, and the MIL optimizations must successfully maintain this information.…”
Section: Typesmentioning
confidence: 99%
See 2 more Smart Citations
“…Accurate garbage collection imposes certain requirements on programs, needing information about which variables and object fields contain GC-managed references. Aggressive optimization such as inter-procedural object unboxing may change the GC status of variables and fields of objects [10,19]. The MIL language must support the tracking of such information, and the MIL optimizations must successfully maintain this information.…”
Section: Typesmentioning
confidence: 99%
“…The compiler also implements a number of inter-procedural representation optimizations using a field-sensitive, unification based flow analysis [10,19]. The main analysis can be roughly thought of as computing a set of equivalence classes on variables and object fields such that any two members of different equivalence classes can be guaranteed never to contain the same dynamic heap value.…”
Section: Optimizationsmentioning
confidence: 99%
See 1 more Smart Citation
“…HRC performs a number of loop-based and representation-style optimizations [13,17], and is able to produce straight loop code for many Repa programs. This is a good fit for OpenCL because OpenCL does not allow recursive function calls.…”
Section: Implementing In Hrcmentioning
confidence: 99%
“…Many standard compiler optimizations have been implemented in the compiler, including loop-invariant code motion and a very general simplifier in the style of Appel and Jim [2]. The compiler also implements a number of interprocedural representation optimizations using a field-sensitive flow analysis [11]. The compiler generates output in a modified extension of the C language called Pillar [1].…”
Section: Intel Labs Haskell Research Compilermentioning
confidence: 99%