* src/lisp.h (XSYMBOL_WITH_POS_SYM, XSYMBOL): Help the compiler by using
eassume instead of eassert for XSYMBOL postconditions likely to be
useful for optimization later. With gcc 13.2 -O2 x86-64 this improved
speed on my usual “compile all .el files” benchmark by 0.7% and shrank
the text size of Emacs by 0.09%.
(cherry picked from commit
d202f1b9e74107c0e51c5d2fdbe094cbe1baaadb)
XSYMBOL_WITH_POS_SYM (Lisp_Object a)
{
Lisp_Object sym = XSYMBOL_WITH_POS (a)->sym;
- eassert (BARE_SYMBOL_P (sym));
+ eassume (BARE_SYMBOL_P (sym));
return sym;
}
{
if (!BARE_SYMBOL_P (a))
{
- eassert (symbols_with_pos_enabled);
+ eassume (symbols_with_pos_enabled);
a = XSYMBOL_WITH_POS_SYM (a);
}
return XBARE_SYMBOL (a);