Class StartsRuntimeThreads

java.lang.Object
org.ek9lang.compiler.phase9.StartsRuntimeThreads
All Implemented Interfaces:
Predicate<IRInstr>

public final class StartsRuntimeThreads extends Object implements Predicate<IRInstr>
THE calls that start runtime threads (EK9_NATIVE_CYCLE_COLLECTOR_DESIGN.md ยง13.11, S0b): every call StartsAndStopsRuntimeThreads names - an async pipeline's Ek9Async.create(), a server's accept and serve, each of which starts the carrier scheduler - and Signals.register, which starts the signal dispatcher that never stops. Nothing else in the runtime starts a thread from the program's own thread: the poller, blocking pool and shutdown watchdog start inside these calls. BeforeThreadsSafePoints puts a SAFE_POINT before_threads ahead of each. Stateless: hold one.
  • Constructor Details

    • StartsRuntimeThreads

      public StartsRuntimeThreads()
  • Method Details