mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-26 07:11:34 -08:00
* src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
Fgethash type checks the provided table object, which is unnecessary for compiled bytecode.
This commit is contained in:
parent
37956463d6
commit
086c4eaf9d
1 changed files with 4 additions and 2 deletions
|
|
@ -1417,8 +1417,10 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
|
|||
{
|
||||
Lisp_Object jmp_table = POP;
|
||||
Lisp_Object v1 = POP;
|
||||
Lisp_Object dest = Fgethash(v1, jmp_table, Qnil);
|
||||
if (!NILP(dest)) {
|
||||
struct Lisp_Hash_Table *h = XHASH_TABLE(jmp_table);
|
||||
ptrdiff_t i = hash_lookup(h, v1, NULL);
|
||||
if (i >= 0) {
|
||||
Lisp_Object dest = HASH_VALUE(h, i);
|
||||
int car = XINT(XCAR(dest));
|
||||
int cdr = XINT(XCDR(dest));
|
||||
op = car + (cdr << 8); /* Simulate FETCH2 */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue