class Savi::Compiler::Lifetime

Overview

The purpose of the Lifetime pass is to analyze forms to determine locations where values fall out of scope or change reference capability in ways that are relevant to the reference counting and book-keeping in the Verona runtime. Ultimately this pass is responsible in large part for the memory safety and correctness of our usage of the Verona runtime, so special care should be exercised in ensuring that the analysis here is complete and correct.

This pass does not mutate the Program topology. This pass does not mutate the AST. This pass may raise a compilation error. This pass keeps state at the function level. This pass produces output state at the per-function level.

Defined in:

savi/compiler/lifetime.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new #

[View source]

Instance Method Detail

def [](reach_func) #

[View source]
def run(ctx) #

[View source]