27#define SRN_HASH_TYPE uint32_t
28#define SRN_SEED_TYPE uint32_t
42#define ENGINE_FIRST_OBJECT_ID 100
114#ifdef SRN_WITH_SERENE
srn_engine_t * srn_engine_make(srn_mm_t *mm)
void srn_engine_shutdown(srn_engine_t *engine)
srn_hash_t srn_hash(const srn_engine_t *engine, const void *data, size_t len)
struct srn_scheduler_t srn_scheduler_t
srn_object_id_t srn_allocate_object_id(srn_engine_t *engine)
This is an implementation of Compressed Hash-Array Mapped Prefix-tree, which is a bit-partitioned,...
Engine is a structure to own the long living and main pieces of the compiler.
_Atomic srn_object_id_t object_id_counter
An unsigned counter to allocate object ids atomically.
srn_scheduler_t * scheduler
The fiber scheduler, set by srn_sched_init.
srn_seed_t seed
We use the seed for hashing and the value will be generated at random for each new context.
srn_mm_t * mm
Memory manager.
Main memory manager structure that will own all the allocated blocks and data.