A Compiler-Based Approach to Implementing Smart Pointers

Date

2007-12-13T18:41:46Z

Authors

Hoskins, Stephen

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Because of the growing popularity of programming languages with garbage collectors, such as C# and Java, there is a clearly a desire for languages that support automated memory management. However, as a result of the inefficiencies of the garbage collectors of C# and Java, there is a requirement that programmers have a better understanding of the underlying implementations of the garbage collectors in order to make applications more robust or so that they can run on real-time systems. Using an implementation of smart pointers written from scratch, this paper attempts to address this problem by exploring techniques that are used by garbage collectors and ultimately concluding which features of object-oriented languages make the task of automating efficient garbage collection more difficult. As a result of the conclusions produced in this paper, it may be possible to create a brand new language with the simplicity and elegance of Java and the robustness and efficiency of C without the developer ever needing to perform memory management.

Description

Keywords

Compilers, Garbage, Collection, Reference, Counting

Citation