ko1 / atdot.net wrote:
> I'm weakly against this proposal because it will consumes more objects
> and increase GC pressure.

Existing code with xrealloc still has GC pressure, too.

> I don't think it is valuable compare with reducing binary size by 1KB.

Right, binary size is minor, but I'm happy with the LoC reduction.

> 
> ```ruby
> -    if (FL_ABLE(obj)) RB_OBJ_WRITTEN(obj, Qundef, val);
> +    if (FL_ABLE(obj)) RB_OBJ_WRITTEN(obj, Qundef, ivup.u.ivtbl);
> ```
> Can obj which is !FL_ABLE(obj) be here?

Seems not.  I missed that check in r50758
("variable.c: remove generic ivar support for special constants")
Will remove separately.