Skip to content

Make rclass_ext->const_tbl a managed object #13807

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

casperisfine
Copy link
Contributor

The table itself is a rb_id_marked_table and the values are IMEMO/constentry.

This open the door to do RCU updates of constant tables.

@casperisfine casperisfine force-pushed the rclass-marked-const-table branch 2 times, most recently from b3689b6 to 202bebc Compare July 8, 2025 09:33

This comment has been minimized.

@casperisfine casperisfine force-pushed the rclass-marked-const-table branch 4 times, most recently from e420f5a to 23493ce Compare July 11, 2025 12:33
@luke-gru
Copy link
Contributor

@byroot Could the CI failures be related to this? The mask appears to be different.

@casperisfine
Copy link
Contributor Author

Hum, that's a good catch. Thank you.

@casperisfine casperisfine force-pushed the rclass-marked-const-table branch from e90e3df to eaf45a1 Compare July 15, 2025 09:08
@casperisfine
Copy link
Contributor Author

Ref: ruby/debug#1151

Similar to `managed_id_table`, but the values are marked.
This can be used to implement RCU pattern on id tables
that contain marked objects (e.g. `class->const_tbl`).
@casperisfine casperisfine force-pushed the rclass-marked-const-table branch from eaf45a1 to 94e1d88 Compare July 15, 2025 10:20
byroot added 2 commits July 15, 2025 12:21
The table itself is a `rb_id_marked_table` and the values
are `IMEMO/constentry`.

This open the door to do RCU updates of constant tables.
@casperisfine casperisfine force-pushed the rclass-marked-const-table branch from 94e1d88 to 5f6cdc9 Compare July 15, 2025 10:21
@casperisfine casperisfine force-pushed the rclass-marked-const-table branch from 5f6cdc9 to 22019c9 Compare July 15, 2025 10:21
@casperisfine
Copy link
Contributor Author

Could the CI failures be related to this? The mask appears to be different.

It did indeed fix one issue. Unfortunately the debug gem suite is still failing when running in parse.y mode, unclear why.

This also is unrelated to the write barrier issue :/. It's progress though.

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.

3 participants