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.-
Constructor Details
-
AsyncPipelineStagesConcurrent
AsyncPipelineStagesConcurrent(SymbolsAndScopes symbolsAndScopes)
-
-
Method Details
-
accept
- Specified by:
acceptin interfaceConsumer<List<EK9Parser.StreamPartContext>>
-