Module moving_gc_arena::traverse[][src]

This package contains the components for traversal definitions and algorithms.

Many traversal methods will take a Strategy as a parameter. In many cases, the strategy CallStack will work for this, but there are a few limitations described there.

The rest of this class is supporting different sorts of traversals, and configurable traversal state.

Structs

CallStack

A simple traversal using the call stack as memory, with iteration using HasIx::foreach_ix. While very general and performant, this means that these traversals are succeptible to stack overflows, and that only the greatest common denominator of features is supported.

PrePostVisitor

A visitor which contains a pre and post function. It can be used both for PreAndPost and PreOnly states.

Enums

PreAndPost

A state enum for pre- and post-order actions.

PreOnly

A state enum for pre-order only. This can slighty reduce the amount of state needed for some traversals.

Traits

Strategy

A Strategy allows for controlling the method and order for mark-based traversals.

Visitor

A Visitor contains the callbacks for each position in the traversal. The State parameter is open so that it can be reported by the particular choice of Strategy.