Oℕ
Size: a a a
Oℕ
Oℕ
SA
Oℕ
SA
public TC<X> derived$TC() {
long l;
long l2;
while ((l = LazyVals$.MODULE$.STATE(l2 = LazyVals$.MODULE$.get((Object)this, X.OFFSET$_m_0), 0)) != 3) {
if (l == 0) {
if (!LazyVals$.MODULE$.CAS((Object)this, X.OFFSET$_m_0, l2, 1, 0)) continue;
try {
TC<X> tC;
derived$TC$lzy1 = tC = TC$.MODULE$.derived();
LazyVals$.MODULE$.setFlag((Object)this, X.OFFSET$_m_0, 3, 0);
return tC;
}
catch (Throwable throwable) {
LazyVals$.MODULE$.setFlag((Object)this, X.OFFSET$_m_0, 0, 0);
throw throwable;
}
}
LazyVals$.MODULE$.wait4Notification((Object)this, X.OFFSET$_m_0, l2, 0);
}
return derived$TC$lzy1;
}
SA
unsafe.getLongVolatile(t, off)
на х86 - это же несинхронизированное чтение памяти? Если так, то при чтении lazy val синхронизации не будет и страдать придется только от проблем с инлайнингомOℕ
λ
АР
АР
λ
Oℕ
Oℕ
Oℕ
Oℕ
Oℕ
ΛВ
λ