diff options
Diffstat (limited to 'src/bytecode.c')
-rw-r--r-- | src/bytecode.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/bytecode.c b/src/bytecode.c index f3eab60c593..29674a0d9de 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -1422,14 +1422,15 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, Lisp_Object v1 = POP; ptrdiff_t i; struct Lisp_Hash_Table *h = XHASH_TABLE(jmp_table); + /* Hash tables for switch are declared with :size set to the + exact number of cases. */ + if (BYTE_CODE_SAFE) + eassert (HASH_TABLE_SIZE (h) == h->count); if (h->count <= 5) { /* 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++) { if (BYTE_CODE_SAFE) |