Simplify and tune XSYMBOL
* src/lisp.h (XSYMBOL): Simplify and tune. There is no need to examine symbols_with_pos_enabled here, since the arg must be a symbol so if it's not a bare symbol then it must be a symbol_with_pos; and checking whether a symbol is bare is cheap. With Ubuntu 23.10 on a Xeon W-1350, this shrank Emacs’s executable text size by 0.1% and sped up a default build of all *.elc files by 0.4%. Remove unnecessary eassert, since XBARE_SYMBOL and XSYMBOL_WITH_POS have easserts that suffice.
This commit is contained in:
parent
b6ed79b71c
commit
cf26f57316
1 changed files with 1 additions and 4 deletions
|
@ -1156,10 +1156,7 @@ XBARE_SYMBOL (Lisp_Object a)
|
|||
INLINE struct Lisp_Symbol * ATTRIBUTE_NO_SANITIZE_UNDEFINED
|
||||
XSYMBOL (Lisp_Object a)
|
||||
{
|
||||
eassert (SYMBOLP (a));
|
||||
if (!symbols_with_pos_enabled || BARE_SYMBOL_P (a))
|
||||
return XBARE_SYMBOL (a);
|
||||
return XBARE_SYMBOL (XSYMBOL_WITH_POS (a)->sym);
|
||||
return XBARE_SYMBOL (BARE_SYMBOL_P (a) ? a : XSYMBOL_WITH_POS (a)->sym);
|
||||
}
|
||||
|
||||
INLINE Lisp_Object
|
||||
|
|
Loading…
Add table
Reference in a new issue