Lecture Notes in Computer Science
DOI: 10.1007/978-3-540-71229-9_5
|View full text |Cite
|
Sign up to set email alerts
|

Accurate Garbage Collection in Uncooperative Environments with Lazy Pointer Stacks

Abstract: Abstract. Implementing a new programming language by the means of a translator to an existing language is attractive as it provides portability over all platforms supported by the host language and reduces the development time as many low-level tasks can be delegated to the host compiler. The C and C++ programming languages are popular choices for many language implementations due to the availability of efficient compilers on many platforms, and good portability. For garbage-collected languages, however, they … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Publication Types

Select...
4
1

Relationship

1
4

Authors

Journals

citations
Cited by 5 publications
(3 citation statements)
references
References 13 publications
0
3
0
Order By: Relevance
“…In particular, the shadow stack that we use for GC frame is the same as in Henderson's system. Baker et al [2007] demonstrated an improvement to Henderson's linked stack-frame technique by putting stack-variable addresses in a separate array, instead of embedding frames in the C stack, but also by using C++ exceptions to take pointer references only when a collection occurs. Jung et al [2006] use a similar approach; local variables are updated upon return from a function that performed a garbage collection.…”
Section: Related Workmentioning
confidence: 99%
“…In particular, the shadow stack that we use for GC frame is the same as in Henderson's system. Baker et al [2007] demonstrated an improvement to Henderson's linked stack-frame technique by putting stack-variable addresses in a separate array, instead of embedding frames in the C stack, but also by using C++ exceptions to take pointer references only when a collection occurs. Jung et al [2006] use a similar approach; local variables are updated upon return from a function that performed a garbage collection.…”
Section: Related Workmentioning
confidence: 99%
“…For a high-priority GC this point can be at each bytecode (or at each machine instruction for compiling Java). The auxiliary data structure to capture the stack layout (and information which machine register will hold a reference) can get quite large or require additional effort to compute [6].…”
Section: Simple Root Scanningmentioning
confidence: 99%
“…From that point on the GC runs in concurrent mode in it's own thread and omits scanning of the thread stacks. 6 We have implemented it for array access, but applying this optimization for field access is straight forward. 7 Since objects are typically small, this optimization is likely to pay off only for arrays.…”
Section: The Collectormentioning
confidence: 99%