Título: | FINALIZERS AND WEAK REFERENCES: INTERFACING WITH THE GARBAGE COLLECTOR | |||||||
Autor: |
MARCUS AMORIM LEAL |
|||||||
Colaborador(es): |
ROBERTO IERUSALIMSCHY - Orientador |
|||||||
Catalogação: | 03/JAN/2006 | 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=7645&idi=1 [en] https://www.maxwell.vrac.puc-rio.br/projetosEspeciais/ETDs/consultas/conteudo.php?strSecao=resultado&nrSeq=7645&idi=2 |
|||||||
DOI: | https://doi.org/10.17771/PUCRio.acad.7645 | |||||||
Resumo: | ||||||||
Most mainstream programming languages support finalizers
and weak
references. In spite of that, these abstractions are still
modestly known
by programmers in general. Even among language designers
there seems
to be no common view on how to define their semantics, and
language
implementations certainly reflect that. In this thesis we
explore the concepts
of finalizer and weak reference by discussing several
important issues that, as
far as we know, have not been explored by other authors.
After presenting
a survey on how finalizers and weak references are
supported by actual
programming languages, we thoroughly examine their
semantics and discuss
alternative implementation strategies. We also use an
operational approach
to develop a formal model for reasoning about garbage
collection and its
interaction with client programs. By explicitly
representing low-level details,
such as heap memory and its addresses, we were able to
clearly specify
memory management actions, and prove several important
memory-related
language invariants. Using this model we describe a formal
semantics for
finalizers and weak references, exploring some of its many
subtleties. We
believe that the topics covered here can serve as a
relevant reference for
further investigations, and also help to guide actual
implementations.
|
||||||||