* src/bytecode.c (exec_byte_code): Simplify, mostly by moving
initializers into decls, and by omitting some unnecessary changes
to ‘top’.
CASE (Bgotoifnil):
{
- Lisp_Object v1;
+ Lisp_Object v1 = POP;
op = FETCH2;
- v1 = POP;
if (NILP (v1))
goto op_branch;
NEXT;
NEXT;
CASE (Bgotoifnonnil):
- {
- op = FETCH2;
- Lisp_Object v1 = POP;
- if (!NILP (v1))
- goto op_branch;
- NEXT;
- }
+ op = FETCH2;
+ if (!NILP (POP))
+ goto op_branch;
+ NEXT;
CASE (Bgotoifnilelsepop):
op = FETCH2;
goto op_relative_branch;
CASE (BRgotoifnil):
- {
- Lisp_Object v1 = POP;
- op = FETCH - 128;
- if (NILP (v1))
- goto op_relative_branch;
- NEXT;
- }
+ op = FETCH - 128;
+ if (NILP (POP))
+ goto op_relative_branch;
+ NEXT;
CASE (BRgotoifnonnil):
- {
- Lisp_Object v1 = POP;
- op = FETCH - 128;
- if (!NILP (v1))
- goto op_relative_branch;
- NEXT;
- }
+ op = FETCH - 128;
+ if (!NILP (POP))
+ goto op_relative_branch;
+ NEXT;
CASE (BRgotoifnilelsepop):
op = FETCH - 128;
CASE (Bdowncase):
TOP = Fdowncase (TOP);
- NEXT;
+ NEXT;
- CASE (Bstringeqlsign):
+ CASE (Bstringeqlsign):
{
Lisp_Object v1 = POP;
TOP = Fstring_equal (TOP, v1);