nac3/nac3core/src/codegen
pca006132 083eacc268 with parallel/sequential support
Behavior of parallel and sequential:
Each function call (indirectly, can be inside a sequential block) within a parallel
block will update the end variable to the maximum now_mu in the block.
Each function call directly inside a parallel block will reset the timeline after
execution. A parallel block within a sequential block (or not within any block) will
set the timeline to the max now_mu within the block (and the outer max now_mu will also
be updated).

Implementation: We track the start and end separately.
- If there is a start variable, it indicates that we are directly inside a
parallel block and we have to reset the timeline after every function call.
- If there is a end variable, it indicates that we are (indirectly) inside a
parallel block, and we should update the max end value.

Note: requires testing, it is difficult to inspect the output IR
2021-10-31 23:54:37 +08:00
..
concrete_type.rs nac3core/codegen: avoid sending unifiers 2021-10-17 13:02:18 +08:00
expr.rs nac3core/codegen: list comprehension support 2021-10-24 16:53:43 +08:00
generator.rs with parallel/sequential support 2021-10-31 23:54:37 +08:00
mod.rs with parallel/sequential support 2021-10-31 23:54:37 +08:00
stmt.rs with parallel/sequential support 2021-10-31 23:54:37 +08:00
test.rs nac3core/codegen: fix broken test 2021-10-17 13:07:45 +08:00