|
Serene Runtime 1.0.0-dev
C runtime for the Serene programming language
|
#include <core.h>
Data Fields | |
| srn_node_type_t | type |
| This type field is a bare number value that we split into a few ranges. | |
| srn_metadata_t * | metadata |
| void * | data |
| An opaque pointer that depending on the type might point to totally different type of data. | |
| srn_fiber_mutex_t * | lock |
| Since multiple fibers can work on the same node at the same time, writers have to acquire the lock. | |
| void* srn_term_t::data |
| srn_fiber_mutex_t* srn_term_t::lock |
| srn_metadata_t* srn_term_t::metadata |
| srn_node_type_t srn_term_t::type |
This type field is a bare number value that we split into a few ranges.
Each range is dedicated to a certain level or better to say phase of the evaluation. For example:
And so on. Each layer/phase of the compiler that needs to walk/transform the graph can add its own range.