Keith McGuigan wrote:

:
Actually, we cannot re-visit an object that was re-hashed to a higher slot. The body of one of those closures asserts out if you pass an oop in it's new location (I think it's expecting to see a fowarding pointer and doesn't see it). This is why I added the delayed_add list originally. We could flag these entries as "already-moved" or something like that, and reset the flag as we encounter them instead of passing them to the iterator. I didn't do that at first because I didn't want to make the entries bigger and use more memory, but maybe I could do some bit tricks in the oop*. I'd rather not have to resort to that unless the cost of processing the delayed list is an issue. It doesn't appear to be at the moment.
Okay, got it, in that case what you have is fine as you definitively don't want to increase the size of the entries as there could be millions of them.

-Alan

Reply via email to