Expand description
JIT debugging tools.
Provides reusable infrastructure for debugging JIT-compiled code:
- LambdaRegistry: maps code pointers back to lambda names
- heap_describe: human-readable description of heap objects
- heap_validate: structural integrity checks for heap objects
- TracingClosureCaller: wraps closure calls with logging
Tracing is controlled by the TIDEPOOL_TRACE env var:
TIDEPOOL_TRACE=calls— log each closure call (name, arg, result)TIDEPOOL_TRACE=heap— also validate heap objects before use
Structs§
- Lambda
Registry - Maps JIT code pointers to human-readable lambda names.
- Tracing
Closure Caller - A closure caller that validates both closure and argument before each call.
Enums§
- Heap
Error - Validation errors for heap objects.
- Trace
Level - Trace level, controlled by
TIDEPOOL_TRACEenv var.
Functions§
- clear_
lambda_ registry - Clear the global registry.
- heap_
describe ⚠ - Describes a heap object in human-readable form.
- heap_
validate ⚠ - Validate a heap object’s structural integrity.
- heap_
validate_ ⚠deep - Validate a heap object and all its pointer fields (one level deep).
- lookup_
lambda - Look up a code pointer in the global registry.
- lookup_
lambda_ by_ address - Look up a lambda name by an address within its body in the global registry.
- set_
lambda_ registry - Install a registry as the global singleton. Returns the old one if any.
- trace_
level - Read the trace level from the environment. Cached after first call.