Class AsyncPipelineStagesConcurrent

java.lang.Object
org.ek9lang.compiler.phase3.AsyncPipelineStagesConcurrent
All Implemented Interfaces:
Consumer<List<EK9Parser.StreamPartContext>>

final class AsyncPipelineStagesConcurrent extends Object implements Consumer<List<EK9Parser.StreamPartContext>>
T8 (EK9_NATIVE_CYCLE_COLLECTOR_DESIGN.md ยง13.11): in a stream pipeline that contains an async stage, every function a stage is given is a concurrent entry point - not only the element functions the workers run. The other stages run on the submitting thread WHILE the workers run (it drains their results in completion order), so a map after async that writes shared state races the workers that read it; marked, phase 5's data-race check (E08251) walks it as it walks the workers' code. Reads only what phase 3 has recorded for each stage's function, so it reports nothing itself: an unresolved stage was reported where it was resolved.