diff options
| author | Andrea Corallo | 2024-11-27 14:18:24 +0100 |
|---|---|---|
| committer | Andrea Corallo | 2024-11-28 11:33:14 +0100 |
| commit | b0ba0d42b0fdf70a20cd7a070128db8abe4a0826 (patch) | |
| tree | 01e46330ea04a871afefcd82f93bdc1ab25f6e59 /src | |
| parent | 8184f64ab0025afb0b901b9cae3917e6f722974b (diff) | |
| download | emacs-b0ba0d42b0fdf70a20cd7a070128db8abe4a0826.tar.gz emacs-b0ba0d42b0fdf70a20cd7a070128db8abe4a0826.zip | |
* src/lisp.h (EQ): Improve generated code.
Outside compilation 'symbols_with_pos_enabled' is always false, so ask
the compiler to organize the most likely execution path in a sequential
fashion in order to favor run-time performance.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lisp.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lisp.h b/src/lisp.h index 5ef97047f76..832a1755c04 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -1353,10 +1353,10 @@ INLINE bool | |||
| 1353 | INLINE bool | 1353 | INLINE bool |
| 1354 | EQ (Lisp_Object x, Lisp_Object y) | 1354 | EQ (Lisp_Object x, Lisp_Object y) |
| 1355 | { | 1355 | { |
| 1356 | return BASE_EQ ((symbols_with_pos_enabled && SYMBOL_WITH_POS_P (x) | 1356 | return BASE_EQ ((__builtin_expect (symbols_with_pos_enabled, false) |
| 1357 | ? XSYMBOL_WITH_POS_SYM (x) : x), | 1357 | && SYMBOL_WITH_POS_P (x) ? XSYMBOL_WITH_POS_SYM (x) : x), |
| 1358 | (symbols_with_pos_enabled && SYMBOL_WITH_POS_P (y) | 1358 | (__builtin_expect (symbols_with_pos_enabled, false) |
| 1359 | ? XSYMBOL_WITH_POS_SYM (y) : y)); | 1359 | && SYMBOL_WITH_POS_P (y) ? XSYMBOL_WITH_POS_SYM (y) : y)); |
| 1360 | } | 1360 | } |
| 1361 | 1361 | ||
| 1362 | INLINE intmax_t | 1362 | INLINE intmax_t |