Sciweavers

JUCS
2008

Eliminating Cycles in Weak Tables

13 years 4 months ago
Eliminating Cycles in Weak Tables
: Weak References constitute an elegant mechanism for an application to interact with its garbage collector. In most of its typical uses, weak references are used through weak tables (e.g., Java's WeakHashMap). However, most implementations of weak tables have a severe limitation: Cyclic references between keys and values in weak tables prevent the elements inside a cycle from being collected, even if they are no longer reachable from outside. This ends up bringing difficulties to the use of weak tables in some kinds of applications. In this work, we present our approach for overcoming this problem in the context of the Lua programming language. Our approach consists of an adaptation of the ephemerons mechanism to tables. We modified the garbage collector of the Lua virtual machine in order to offer support to this mechanism. With this adapted garbage collector we could verify the efficiency and effectiveness of the implementation in solving the problem of cycles on weak tables in...
Alexandra Barros, Roberto Ierusalimschy
Added 13 Dec 2010
Updated 13 Dec 2010
Type Journal
Year 2008
Where JUCS
Authors Alexandra Barros, Roberto Ierusalimschy
Comments (0)