On Thu, Mar 29, 2018 at 4:15 PM, Pip Cet wrote: > inline void staticpro(Lisp_Object *ptr, Lisp_Object initial_value) > { > assume(*ptr == Qnil); > real_staticpro(ptr); > if (initial_value != Qnil) > *ptr = initial_value; > } Okay, GCC doesn't appear to optimize that expression by default, but I've attached a patch which does keep stripped binary size constant. It reduces C code size a little, avoids the ambiguity of whether staticpro or the initialization goes first, removes the Qnil == 0 assumption from a few places and generally seems like a slight improvement to me. Totally independent from the pdumper patch, of course. (And I'd prefer the pdumper patch to go in first.)