Misc #11447
closed[PATCH] iseq: move iseq->body->mark_ary to iseq->mark_ary
Description
Having an unused dummy field is ugly and wasteful. mark_ary was
chosen here since it is often touched at a different point in
execution (GC) than during normal execution of the iseq code.
The GC performance impact is is probably immeasurable given
RGenGC, and rb_location_t still resides in the body for marking
(however on a different cache line than mark_ary was).
Overall, this should not make a real difference today since most
mallocs give 2 word alignment for compliance and compatibility,
but it should allow us more room to make future modifications to
rb_iseq_constant_body without using more space.
Feel free to reject if there's something better planned for the
dummy field (and perhaps name it "feature_TODO" instead of "dummy2")
so somebody else doesn't write a patch like this one :)
Otherwise I'll commit in a week or so.
Files