Expand description
§Shared Runtime System for Haskelujah
This crate contains the backend-agnostic runtime primitives shared across all execution backends (STG interpreter, LLVM, Cranelift, WebAssembly):
value_chirho— Runtime value types (ValueChirho,ClosureChirho,InfoTableChirho,HeapAddrChirho,DataConTagChirho)heap_chirho— Arena-based heap allocator (HeapChirho)gc_chirho— Mark-sweep garbage collector (GcStateChirho)
The STG interpreter (haskelujah-runtime-chirho) adds the evaluation loop,
stack, primop dispatch, and FFI on top of these shared primitives.
Native-code backends link against this crate for heap management and GC
without pulling in interpreter-specific machinery.
Re-exports§
pub use gc_chirho::GcConfigChirho;pub use gc_chirho::GcStateChirho;pub use gc_chirho::GcStatsChirho;pub use gc_chirho::extract_roots_from_values_chirho;pub use heap_chirho::HeapChirho;pub use native_layout_chirho::CLOSURE_FV_OFFSET_CHIRHO;pub use native_layout_chirho::CON_FIELDS_OFFSET_CHIRHO;pub use native_layout_chirho::CON_TAG_MASK_CHIRHO;pub use native_layout_chirho::CON_TAG_SHIFT_CHIRHO;pub use native_layout_chirho::HEADER_SIZE_CHIRHO;pub use native_layout_chirho::OBJECT_KIND_MASK_CHIRHO;pub use native_layout_chirho::ObjectKindChirho;pub use native_layout_chirho::PAP_ARGS_OFFSET_CHIRHO;pub use native_layout_chirho::PAP_ARITY_OFFSET_CHIRHO;pub use native_layout_chirho::PAP_FUN_OFFSET_CHIRHO;pub use native_layout_chirho::THUNK_PAYLOAD_OFFSET_CHIRHO;pub use native_layout_chirho::WORD_SIZE_CHIRHO;pub use native_layout_chirho::pack_native_header_chirho;pub use native_layout_chirho::unpack_native_object_kind_chirho;pub use value_chirho::ClosureChirho;pub use value_chirho::CodePtrChirho;pub use value_chirho::DataConTagChirho;pub use value_chirho::HeapAddrChirho;pub use value_chirho::InfoTableChirho;pub use value_chirho::InfoTagChirho;pub use value_chirho::ValueChirho;
Modules§
- ffi_
chirho - C FFI for the Haskelujah Runtime System
- gc_
chirho - Garbage collector
- heap_
chirho - Heap — the closure store
- native_
layout_ chirho - Shared native heap object layout for compiled backends.
- value_
chirho - Runtime values and closure representation