You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RopeTable uses its own internal key class in order to avoid constructing a rope if it's not necessary, but using several of the key fields of a rope. Since the key is never referenced outside of the lookup table itself and the lookup table is a WeakHashMap, we risk evicting values that are otherwise valid. In this case, a second rope may be created that is logically equivalent to an existing rope that was looked up from the table. There should be no functional breakage by this, but we cannot guarantee reference equality, which may cause fast paths to be skipped.
The text was updated successfully, but these errors were encountered:
Note I've since changed the issue a bit with commit 91ec95f. Now we never expunge results. We still need to fix this, but entries won't just disappear on us.
RopeTable
uses its own internal key class in order to avoid constructing a rope if it's not necessary, but using several of the key fields of a rope. Since the key is never referenced outside of the lookup table itself and the lookup table is aWeakHashMap
, we risk evicting values that are otherwise valid. In this case, a second rope may be created that is logically equivalent to an existing rope that was looked up from the table. There should be no functional breakage by this, but we cannot guarantee reference equality, which may cause fast paths to be skipped.The text was updated successfully, but these errors were encountered: