emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 7392f2dc41 05/14: Byte code arity check micro-optimisation


From: Mattias Engdegård
Subject: master 7392f2dc41 05/14: Byte code arity check micro-optimisation
Date: Mon, 24 Jan 2022 05:42:36 -0500 (EST)

branch: master
commit 7392f2dc4102fcc5bc4e8a9752db589f75ab9f52
Author: Mattias Engdegård <mattiase@acm.org>
Commit: Mattias Engdegård <mattiase@acm.org>

    Byte code arity check micro-optimisation
    
    * src/bytecode.c (exec_byte_code): Slight simplification.
---
 src/bytecode.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/bytecode.c b/src/bytecode.c
index 0d0a28cd0b..00db29b014 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -391,8 +391,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, 
Lisp_Object maxdepth,
       bool rest = (at & 128) != 0;
       int mandatory = at & 127;
       ptrdiff_t nonrest = at >> 8;
-      ptrdiff_t maxargs = rest ? PTRDIFF_MAX : nonrest;
-      if (! (mandatory <= nargs && nargs <= maxargs))
+      if (! (mandatory <= nargs && (rest || nargs <= nonrest)))
        Fsignal (Qwrong_number_of_arguments,
                 list2 (Fcons (make_fixnum (mandatory), make_fixnum (nonrest)),
                        make_fixnum (nargs)));



reply via email to

[Prev in Thread] Current Thread [Next in Thread]