Skip to content

Add hashset reads - #151

Open
ero-qt wants to merge 25 commits into
LiveSplit:masterfrom
ero-qt:hashset-reader
Open

Add hashset reads#151
ero-qt wants to merge 25 commits into
LiveSplit:masterfrom
ero-qt:hashset-reader

Conversation

@ero-qt

@ero-qt ero-qt commented Aug 29, 2026

Copy link
Copy Markdown

Depends on #150.
Part of #149.

Adds get_hash_set_offsets and read_hash_set to both backends' Module, on the dictionary machinery: a slot is a dictionary entry without the key, so resolution and the chunked scan are the same code handed different names.

  • Resolution accepts both corlib naming generations (_slots/_buckets/_count/_lastIndex and the m_-prefixed ones). One thing worth writing down: the set's bucket heads are one-based in both generations, unlike the dictionary's split. Nothing reads buckets yet, but whoever adds keyed lookups will want that recorded.
  • read_hash_set walks to _lastIndex, the high-water mark, since freed slots sit inside it, and the live tally has to equal _count exactly or the read fails. The value type is the caller's claim, refused past the slot's room, like the dictionary's.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant