• Information Technology
  • Human Resources
  • Careers
  • Giving
  • Library
  • Bookstore
  • Active Living
  • Continuing Education
  • Go Dinos
  • UCalgary Maps
  • UCalgary Directory
  • Academic Calendar
My UCalgary
Webmail
D2L
ARCHIBUS
IRISS
  • Faculty of Arts
  • Cumming School of Medicine
  • Faculty of Environmental Design
  • Faculty of Graduate Studies
  • Haskayne School of Business
  • Faculty of Kinesiology
  • Faculty of Law
  • Faculty of Nursing
  • Faculty of Nursing (Qatar)
  • Schulich School of Engineering
  • Faculty of Science
  • Faculty of Social Work
  • Faculty of Veterinary Medicine
  • Werklund School of Education
  • Information TechnologiesIT
  • Human ResourcesHR
  • Careers
  • Giving
  • Library
  • Bookstore
  • Active Living
  • Continuing Education
  • Go Dinos
  • UCalgary Maps
  • UCalgary Directory
  • Academic Calendar
  • Libraries and Cultural Resources
View Item 
  •   PRISM Home
  • Science
  • Science Research & Publications
  • View Item
  •   PRISM Home
  • Science
  • Science Research & Publications
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

COOPERATIVE GARBAGE COLLECTORS USING SMART POINTERS IN THE C++ PROGRAMMING LANGUAGE

Thumbnail
Download
1991-461-45.pdf (12.24Mb)
Download Record
Download to EndNote/RefMan (RIS)
Download to BibTex
Author
Ginter, Andrew
Accessioned
2008-05-20T23:29:48Z
Available
2008-05-20T23:29:48Z
Computerscience
1999-05-27
Issued
1991-12-01
Subject
Computer Science
Type
unknown
Metadata
Show full item record

Abstract
This research proposes to modify the C++ programming language to make it easier to define reliable, type-safe, user-defined, cooperative garbage collectors using smart-pointer classes. The major changes: -allow smart pointers to act as "this" pointers in member functions, -require the compiler to emit warnings when dangerous uses of smart pointers are detected, -restrict the use of some compiler temporaries, and -modify the rules governing the conversion of one smart-pointer class to another. Most of the proposed changes have been implemented in a C++ compiler. The modified compiler was used to implement a list-processing benchmark that uses a simple garbage collector and smart-pointer classes. The benchmark shows that the run-time cost of using smart pointers is non-trivial and suggestions are made that should improve this performance substantially. An algorithm is also described that coordinates the activities of many collectors in an application, in order to reclaim cycles of objects that span garbage-collected heaps. The main conclusion of this research is that it is practical to modify the C++ language to support reliable, type-safe user-defined, cooperative garbage collectors that use smart pointer classes.
Notes
We are currently acquiring citations for the work deposited into this collection. We recognize the distribution rights of this item may have been assigned to another entity, other than the author(s) of the work.If you can provide the citation for this work or you think you own the distribution rights to this work please contact the Institutional Repository Administrator at digitize@ucalgary.ca
Corporate
University of Calgary
Faculty
Science
Doi
http://dx.doi.org/10.11575/PRISM/31296
Uri
http://hdl.handle.net/1880/46536
Collections
  • Science Research & Publications

Browse

All of PRISMCommunities & CollectionsBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

My Account

LoginRegister

Download Results

Statistics

Most Popular ItemsStatistics by CountryMost Popular Authors

  • Email
  • SMS
  • 403.220.8895
  • Live Chat

Energize: The Campaign for Eyes High

Privacy Policy
Website feedback

University of Calgary
2500 University Drive NW
Calgary, AB T2N 1N4
CANADA

Copyright © 2017