Что такое safe points для preemption?

Senior
48 просмотров
AFK Offer AI

Safe points — позиции в коде где горутину безопасно прервать. Компилятор вставляет их в вызовы функций, циклы, возвраты. В этих точках все указатели на стеке известны GC. Async preemption через SIGURG может прервать и между safe points, но тогда runtime сохраняет полное состояние регистров и создаёт synthetic safe point.

Следующий вопрос

Что такое watermill?