Memory management techniques for dynamic languages

dc.contributor.advisorBremner, David
dc.contributor.authorNanjekye, Joannah
dc.date.accessioned2024-10-30T13:16:59Z
dc.date.available2024-10-30T13:16:59Z
dc.date.issued2024-08
dc.description.abstractGarbage collection as a field requires well-documented and reusable techniques as well as considerations for the design abstractions of programming languages. This dissertation focuses on dynamically-typed languages, whose design warrants specific studies and optimizations. The first theme of the dissertation is the use of the Eclipse OMR framework for the correct, portable, and language-independent implementation of high performing garbage collectors for the RPython Meta-tracing-JIT-based dynamic languages. We extend the use of the framework-based garbage collectors to study the garbage collection cost for the same dynamic languages, highlighting the trade-off in performance between JIT tracing and garbage collection and thereby proposing a novel optimal JIT trace sizing solution. We further address two problems related to the collection resizing and boxing overhead for dynamic languages. We propose a calling context aware collection presizing technique for the former and present type-based stores, a novel memory layout to optimize type polymorphism in collection data structures for the latter. Dynamic languages often also provide foreign function interfaces; the Python language has a C API but challenges of pointer stability, lifetime complexity and memory model compatibility continue to receive little attention in the research community. We propose a garbage collection friendly Python FFI, we call CyStck, that combines a stack and light-weight handles along with migration tooling for extensions.
dc.description.copyright© Joannah Nanjekye, 2024
dc.format.extentxxi, 226
dc.format.mediumelectronic
dc.identifier.urihttps://unbscholar.lib.unb.ca/handle/1882/38179
dc.language.isoen
dc.publisherUniversity of New Brunswick
dc.relationAtlantic Innovation Fund (AIF)
dc.relationCAS–Atlantic
dc.relationAtlantic Canada Opportunities Agency (ACOA)
dc.relationGoogle
dc.relationRust Foundation
dc.relationNBIF STEM Social and Innovation
dc.relationUniversity of New Brunswick
dc.rightshttp://purl.org/coar/access_right/c_abf2
dc.subject.disciplineComputer Science
dc.titleMemory management techniques for dynamic languages
dc.typedoctoral thesis
oaire.license.conditionother
thesis.degree.disciplineComputer Science
thesis.degree.grantorUniversity of New Brunswick
thesis.degree.leveldoctorate
thesis.degree.namePh.D.

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Joannah Nanjekye -Dissertation.pdf
Size:
3.19 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.13 KB
Format:
Item-specific license agreed upon to submission
Description: