1f68371920
Introduces a reference counting mechanism for symbols within the `FileCache`. When a `SymbolChunkIter` is created, it increments the reference count for its symbol. When the iterator is dropped, the reference count is decremented. If a symbol's reference count drops to zero, all cached data associated with that symbol is evicted from the cache, freeing up memory. This prevents stale data from being held indefinitely when no active iterators are using it.