Logo PUC-Rio Logo Maxwell
ETDs @PUC-Rio
Estatística
Título: FINALIZERS AND CYCLES IN WEAK TABLES
Autor: ALEXANDRA BARRETO ASSAD DE BARROS
Colaborador(es): ROBERTO IERUSALIMSCHY - Orientador
Catalogação: 06/DEZ/2007 Língua(s): PORTUGUESE - BRAZIL
Tipo: TEXT Subtipo: THESIS
Notas: [pt] Todos os dados constantes dos documentos são de inteira responsabilidade de seus autores. Os dados utilizados nas descrições dos documentos estão em conformidade com os sistemas da administração da PUC-Rio.
[en] All data contained in the documents are the sole responsibility of the authors. The data used in the descriptions of the documents are in conformity with the systems of the administration of PUC-Rio.
Referência(s): [pt] https://www.maxwell.vrac.puc-rio.br/projetosEspeciais/ETDs/consultas/conteudo.php?strSecao=resultado&nrSeq=10985&idi=1
[en] https://www.maxwell.vrac.puc-rio.br/projetosEspeciais/ETDs/consultas/conteudo.php?strSecao=resultado&nrSeq=10985&idi=2
DOI: https://doi.org/10.17771/PUCRio.acad.10985
Resumo:
Weak References and finalizers constitute an elegant alternative to obtain control over the interaction between the application and the garbage collector. However, in some contexts, finalizers are not necessary because it`s possible to extend the weak reference mechanism in order to give support to finalization. In this work, we present a survey of the most common uses of these mechanisms. We also show how weak references can replace finalizers proposing a weak reference based implementation for each finalizer use. Based on this survey, we developed a finalization mechanism based on weak references for the Lua programming language. Motivated by our proposal of a better exploration of the weak reference mechanism, we developed a solution for an important problem related to cycles on weak tables, an structure created using weak references. Cyclic references between keys and values prevents the elements inside the cycle from being collected, even if they are no more reachable. This ends up bringing difficulties to the use of weak tables in certain kinds of applications. The Haskell programming language solved this problem implementing an adaptation of a mechanism called ephemerons. Based on this fact, we modified the Lua garbage collector in order to offer support to ephemerons. As a result, we were able to solve the problem of cycles on weak tables in Lua.
Descrição: Arquivo:   
COVER, ACKNOWLEDGEMENTS, RESUMO, ABSTRACT, SUMMARY AND LISTS PDF    
CHAPTER 1 PDF    
CHAPTER 2 PDF    
CHAPTER 3 PDF    
CHAPTER 4 PDF    
CHAPTER 5 PDF    
CHAPTER 6 PDF    
REFERENCES AND APPENDICES PDF