emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] feature/byte-switch a75d080: * src/bytecode.c: Refactor to


From: Vibhav Pant
Subject: [Emacs-diffs] feature/byte-switch a75d080: * src/bytecode.c: Refactor to follow GNU coding standards
Date: Sat, 11 Feb 2017 07:51:34 -0500 (EST)

branch: feature/byte-switch
commit a75d080b17a6b6c6296ff4e24d8129d77bb3bb6b
Author: Vibhav Pant <address@hidden>
Commit: Vibhav Pant <address@hidden>

    * src/bytecode.c: Refactor to follow GNU coding standards
---
 src/bytecode.c | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/src/bytecode.c b/src/bytecode.c
index 1ac2811..f3eab60 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -1420,9 +1420,6 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, 
Lisp_Object maxdepth,
               search as the jump table.  */
             Lisp_Object jmp_table = POP;
             Lisp_Object v1 = POP;
-#ifdef BYTE_CODE_SAFE
-            CHECK_TYPE (HASH_TABLE_P (jmp_table), Qhash_table_p, jmp_table);
-#endif
             ptrdiff_t i;
             struct Lisp_Hash_Table *h = XHASH_TABLE(jmp_table);
 
@@ -1430,19 +1427,18 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object 
vector, Lisp_Object maxdepth,
               { /* Do a linear search if there are not many cases
                    FIXME: 5 is arbitrarily chosen.  */
                 EMACS_UINT hash_code = h->test.hashfn (&h->test, v1);
+                /* Hash tables for switch are declared with :size set to the
+                   exact number of cases, thus
+                   HASH_TABLE_SIZE (h) == h->count.  */
                 for (i = 0; i < h->count; i++)
                   {
-#ifdef BYTE_CODE_SAFE
-                    eassert (!NILP (HASH_HASH (h, i)));
-#endif
-                    /* Hash tables for switch are declared with :size set to 
the
-                       exact number of cases, thus
-                       HASH_TABLE_SIZE (h) == h->count.  */
-
-                    if ((EQ (v1, HASH_KEY (h, i)) ||
-                         (h->test.cmpfn
-                          && hash_code == XUINT (HASH_HASH (h, i))
-                          && h->test.cmpfn (&h->test, v1, HASH_KEY (h, i)))))
+                    if (BYTE_CODE_SAFE)
+                      eassert (!NILP (HASH_HASH (h, i)));
+
+                    if (EQ (v1, HASH_KEY (h, i))
+                        || (h->test.cmpfn
+                            && hash_code == XUINT (HASH_HASH (h, i))
+                            && h->test.cmpfn (&h->test, v1, HASH_KEY (h, i))))
                       {
                         op = XINT (HASH_VALUE (h, i));
                         goto op_branch;



reply via email to

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