Skip to content

Conversation

@headius
Copy link
Member

@headius headius commented Jul 10, 2025

A few small tweaks to the symbol table.

@headius headius added this to the JRuby 10.0.1.0 milestone Jul 10, 2025
@headius
Copy link
Member Author

headius commented Jul 10, 2025

These were discovered while attempting to get test_marshal_with_ruby2_keywords_hash passing, since it depends on comparing an incoming UTF-7 "K" symbol with the default US-ASCII version already in the table. Fixing the reset ordering resolved an issue finding the existing symbol (it was being created and then wiped out) but because we key our symbol table off the hash of the raw bytes without the encoding, we can't ultimately distinguish between these otherwise identical symbols. There's no way to pass the test with the symbol table not considering encoding at this point (see some explanation of that limitation at #6341 (comment)).

* Make compoundSymbolTable final.
* Inline load factor, since it's not configurable anyway.
* Reset table in constructor before creating special symbols.
@headius headius force-pushed the symbol_table_tweaks branch from 01eb5cc to 259ddf3 Compare July 10, 2025 15:38
@headius headius merged commit 25dc482 into jruby:master Jul 10, 2025
71 checks passed
@headius headius deleted the symbol_table_tweaks branch July 10, 2025 15:52
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