# File lib/Borges/Utilities/WeakIdentityKeyHash.rb, line 74 def initialize(orig, hash) @internal_id = orig.object_id ObjectSpace.define_finalizer(orig, self.class.make_finalizer(@internal_id, hash.object_id)) ObjectSpace.define_finalizer(self, self.class.make_finalizer(@internal_id, nil)) Thread.exclusive do ID_MAP[@internal_id] = [] unless ID_MAP[@internal_id] end ID_MAP[@internal_id].push self.object_id ID_REV_MAP[self.object_id] = @internal_id end