Crate boa_gc

Crate boa_gc 

Source
Expand description

Boa’s boa_gc crate implements a garbage collector.

§Crate Overview

boa_gc is a mark-sweep garbage collector that implements a Trace and Finalize trait for garbage collected values.

§About Boa

Boa is an open-source, experimental ECMAScript Engine written in Rust for lexing, parsing and executing ECMAScript/JavaScript. Currently, Boa supports some of the language. More information can be viewed at Boa’s website.

Try out the most recent release with Boa’s live demo playground.

§Boa Crates

  • boa_cli - Boa’s CLI && REPL implementation
  • boa_ast - Boa’s ECMAScript Abstract Syntax Tree.
  • boa_engine - Boa’s implementation of ECMAScript builtin objects and execution.
  • boa_gc - Boa’s garbage collector.
  • boa_icu_provider - Boa’s ICU4X data provider.
  • boa_interner - Boa’s string interner.
  • boa_macros - Boa’s macros.
  • boa_parser - Boa’s lexer and parser.
  • boa_runtime - Boa’s WebAPI features.
  • boa_string - Boa’s ECMAScript string implementation.
  • tag_ptr - Utility library that enables a pointer to be associated with a tag of type usize.
  • small_btree - Utility library that adds the SmallBTreeMap data structure.

Macros§

custom_trace
Utility macro to manually implement Trace on a type.
empty_trace
Utility macro to define an empty implementation of Trace.

Structs§

Ephemeron
A key-value pair where the value becomes unaccesible when the key is garbage collected.
Gc
A garbage-collected pointer type over an immutable value.
GcBox
A garbage collected allocation.
GcErased
A type erased Gc<T> pointer type.
GcRef
A wrapper type for an immutably borrowed value from a GcCell<T>.
GcRefCell
A mutable memory location with dynamically checked borrow rules that can be used inside of a garbage-collected pointer.
GcRefMut
A wrapper type for a mutably borrowed value from a GcCell<T>.
WeakGc
A weak reference to a Gc.
WeakMap
A map that holds weak references to its keys and is traced by the garbage collector.

Traits§

Finalize
Substitute for the Drop trait for garbage collected types.
Trace
The Trace trait, which needs to be implemented on garbage-collected objects.

Functions§

finalizer_safe
Returns true if it is safe for a type to run Finalize::finalize.
force_collect
Forcefully runs a garbage collection of all unaccessible nodes.

Derive Macros§

Finalize
Derive the Finalize trait.
Trace
Derive the Trace trait.