Class PublishPlacement
java.lang.Object
org.ek9lang.compiler.phase9.PublishPlacement
- All Implemented Interfaces:
Consumer<Collection<IRConstruct>>
THE placement of
PUBLISH (EK9_NATIVE_CYCLE_COLLECTOR_DESIGN.md ยง13.11, S2): an IR_OPTIMISATION pass after
SafePointPlacement, over the ownership form, before the lowering. Over the whole program it puts a
PUBLISH immediately before each instruction that makes a value shared for the life of the program
(PublishedValues decides which): an application's registration store, a call that hands handlers to
runtime threads, and a store into a field of a [registered] type outside its construction - the store
barrier. PublishVerifier (V-P) checks the result. It rewrites no ownership: a published value is still
counted, owned and dropped as before, and a garbage-collected back end emits nothing for it.-
Constructor Details
-
PublishPlacement
-
-
Method Details
-
accept
- Specified by:
acceptin interfaceConsumer<Collection<IRConstruct>>
-