libera/#sicl - IRC Chatlog
Search
3:20:54
beach
hayley: I read your text. Can I assume that the detection of an obsolete instance is something similar to what SICL does, i.e., failure in generic dispatch due to old stamp, so that this failure results in the forwarding pointer being put in? And it seems you assume that the old object minus the forwarding pointer will be reclaimed by the GC, yes?
3:22:22
beach
If so, what happens if we have two threads, T1 that wants to access a slot, so it does two things: 1. It checks whether there is an indirection and sees that there is none. 2. It uses the offset of that slot to access the contents.
3:23:16
beach
Now between 1 and 2, T2 kicks in. Lots of things happen, the class changes, and the GC runs, so the rest of the old object is now reclaimed and perhaps reused.