Lamport & Chandy, right?
in a JIT those "compiler-defined durable boundaries" are called "safepoints" and they are inserted so that threads can be suspended so cross cutting concerns can be applied (GC, deoptimization)
You might look into "Choreographic Programming"