[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master d202f1b9e74 7/8: XSYMBOL eassume speedups
From: |
Paul Eggert |
Subject: |
master d202f1b9e74 7/8: XSYMBOL eassume speedups |
Date: |
Tue, 13 Feb 2024 14:20:43 -0500 (EST) |
branch: master
commit d202f1b9e74107c0e51c5d2fdbe094cbe1baaadb
Author: Paul Eggert <eggert@cs.ucla.edu>
Commit: Paul Eggert <eggert@cs.ucla.edu>
XSYMBOL eassume speedups
* 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%.
---
src/lisp.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/lisp.h b/src/lisp.h
index e9b0bd522af..bf96bfd39f7 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -1117,7 +1117,7 @@ INLINE Lisp_Object
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;
}
@@ -1148,7 +1148,7 @@ XSYMBOL (Lisp_Object a)
{
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);
- master updated (d61145cc8cf -> a4a99405d00), Paul Eggert, 2024/02/13
- master 08c18632574 2/8: Simplify and speed up EQ again, Paul Eggert, 2024/02/13
- master d202f1b9e74 7/8: XSYMBOL eassume speedups,
Paul Eggert <=
- master efdcd7b8f78 3/8: Remove BASE2_EQ, Paul Eggert, 2024/02/13
- master a4a99405d00 8/8: Simplify position-symbol, Paul Eggert, 2024/02/13
- master 231af322b07 4/8: Remove lisp_h_PSEUDOVECTORP etc, Paul Eggert, 2024/02/13
- master 473dac88010 5/8: Remove lisp_h_XCONS etc, Paul Eggert, 2024/02/13
- master d2a5d7534c7 1/8: Simplify and speed up EQ, Paul Eggert, 2024/02/13
- master 10c6aea4434 6/8: Remove SYMBOL_WITH_POS_{POS,SYM}, Paul Eggert, 2024/02/13