summaryrefslogtreecommitdiff
path: root/include/ruby
diff options
context:
space:
mode:
authorJohn Hawthorn <john@hawthorn.email>2025-07-23 12:12:58 -0700
committerJohn Hawthorn <john@hawthorn.email>2025-07-23 14:33:55 -0700
commit9256442615db227ab8ccd18b0ca65da980de7eaf (patch)
tree841588299e24c6a6cb5604159f29e98a4870de26 /include/ruby
parentd67eb07f7549508da09e6f3aa2dbe55ad0ba2da1 (diff)
Cleanup M_TBL workarounds and comments
Previously we had an assertion that the method table was only set on young objects, and a comment stating that was how it needed to be used. I think that confused the complexity of the write barriers that may be needed here. * Setting an empty M_TBL never needs a write barrier * T_CLASS and T_MODULE should always fire a write barrier to newly added methods * T_ICLASS only needs a write barrier to methods when RCLASSEXT_ICLASS_IS_ORIGIN(x) && !RCLASSEXT_ICLASS_ORIGIN_SHARED_MTBL(x) We shouldn't assume that the object being young is sufficient, because we also need write barriers for incremental marking and it's unreliable.
Diffstat (limited to 'include/ruby')
0 files changed, 0 insertions, 0 deletions