From: normalperson@... Date: 2015-08-14T19:29:50+00:00 Subject: [ruby-core:70392] [Ruby trunk - Misc #11447] [Open] [PATCH] iseq: move iseq->body->mark_ary to iseq->mark_ary Issue #11447 has been reported by Eric Wong. ---------------------------------------- Misc #11447: [PATCH] iseq: move iseq->body->mark_ary to iseq->mark_ary https://bugs.ruby-lang.org/issues/11447 * Author: Eric Wong * Status: Open * Priority: Normal * Assignee: ---------------------------------------- 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-------------------------------- 0001-iseq-move-iseq-body-mark_ary-to-iseq-mark_ary.patch (3.1 KB) -- https://bugs.ruby-lang.org/