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 implementationboa_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_profiler
- Boa’s code profiler.boa_runtime
- Boa’s WebAPI features.boa_string
- Boa’s ECMAScript string implementation.
Re-exports§
pub use crate::trace::Tracer;
Macros§
- Utility macro to manually implement
Trace
on a type. - Utility macro to define an empty implementation of
Trace
.
Structs§
- A key-value pair where the value becomes unaccesible when the key is garbage collected.
- A garbage-collected pointer type over an immutable value.
- A garbage collected allocation.
- A wrapper type for an immutably borrowed value from a
GcCell<T>
. - A mutable memory location with dynamically checked borrow rules that can be used inside of a garbage-collected pointer.
- A wrapper type for a mutably borrowed value from a
GcCell<T>
. - A weak reference to a
Gc
. - A map that holds weak references to its keys and is traced by the garbage collector.
Traits§
- Substitute for the
Drop
trait for garbage collected types. - The Trace trait, which needs to be implemented on garbage-collected objects.
Functions§
- Returns
true
if it is safe for a type to runFinalize::finalize
. - Forcefully runs a garbage collection of all unaccessible nodes.
Derive Macros§
- Derive the
Finalize
trait. - Derive the
Trace
trait.