Fix ordering for auto compaction in get_overloaded_cme()
Found through GC.stress + GC.auto_compact crashes in GH-8932. Previously, the compaction run within rb_method_entry_alloc() could move the def->body.iseq.cref and iseqptr set up before the call and leave the def pointing to moved addresses. Nothing was marking def during that GC run.
Fix ordering for auto compaction in get_overloaded_cme()
Found through GC.stress + GC.auto_compact crashes in GH-8932.
Previously, the compaction run within
rb_method_entry_alloc()couldmove the
def->body.iseq.crefandiseqptrset up before the call andleave the
defpointing to moved addresses. Nothing was markingdefduring that GC run.
Low probability reproducer: