On Fri Mar 21 13:23:52 2025 +0000, Jinoh Kang wrote:
a mutable pointer (as an offset)
Such offset can be invalidated anytime, which requires validating the offset before and after reading the dynamic data. But also the object containing the mutable pointer can be invalidated anytime, so we end up with a *nested* seqlock? Could be simple or not, but cannot tell for sure until implemented.
or simply avoid using shared data for that altogether
I don't know, if that's a viable option then maybe you're right, on a plus side we wouldn't need to implement heap either. I was just trying to make sure the comment wasn't slipping through cracks.
Whatever locking mechanism is used on the object itself can also protect related data. Currently, operations are restricted to the current process's icon objects, so shared memory isn't needed. If an extension is necessary (and I think there are shared cursors, though I don’t know the details), a single locking mechanism could protect both the object and its references. In any case, this all seems quite hypothetical for now.