diff options
| author | Mattias EngdegÄrd | 2022-02-03 10:26:27 +0100 |
|---|---|---|
| committer | Mattias EngdegÄrd | 2022-02-12 20:27:31 +0100 |
| commit | 89bb5a5f357e911aeb0b9f14e8b2f7c5a5fbabf7 (patch) | |
| tree | 9061dd3c5ed0ebff5d8b3a2dbb8224412e353740 /src/bytecode.c | |
| parent | a602e86bc1c10f44dbe9d2680bece2f552a54707 (diff) | |
| download | emacs-89bb5a5f357e911aeb0b9f14e8b2f7c5a5fbabf7.tar.gz emacs-89bb5a5f357e911aeb0b9f14e8b2f7c5a5fbabf7.zip | |
Speed up `=` on fixnums in bytecode
Now that EQ has become expensive, use BASE_EQ where possible.
* src/bytecode.c (exec_byte_code): Use cheaper operation for Beqlsign.
Diffstat (limited to 'src/bytecode.c')
| -rw-r--r-- | src/bytecode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/bytecode.c b/src/bytecode.c index 1018e81d24c..bda9a39b7f3 100644 --- a/src/bytecode.c +++ b/src/bytecode.c | |||
| @@ -1060,7 +1060,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1060 | Lisp_Object v2 = POP; | 1060 | Lisp_Object v2 = POP; |
| 1061 | Lisp_Object v1 = TOP; | 1061 | Lisp_Object v1 = TOP; |
| 1062 | if (FIXNUMP (v1) && FIXNUMP (v2)) | 1062 | if (FIXNUMP (v1) && FIXNUMP (v2)) |
| 1063 | TOP = EQ (v1, v2) ? Qt : Qnil; | 1063 | TOP = BASE_EQ(v1, v2) ? Qt : Qnil; |
| 1064 | else | 1064 | else |
| 1065 | TOP = arithcompare (v1, v2, ARITH_EQUAL); | 1065 | TOP = arithcompare (v1, v2, ARITH_EQUAL); |
| 1066 | NEXT; | 1066 | NEXT; |