emacs-diffs
[Top][All Lists]
Advanced

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

master 2c54e9a1dd 5/5: Remove never-used relative jump opcodes


From: Mattias Engdegård
Subject: master 2c54e9a1dd 5/5: Remove never-used relative jump opcodes
Date: Sat, 12 Mar 2022 11:38:55 -0500 (EST)

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

    Remove never-used relative jump opcodes
    
    * src/bytecode.c (BYTE_CODES, exec_byte_code):
    Remove relative jump opcodes that seem to have been a short-lived
    experiment, never used in a release.
---
 src/bytecode.c | 37 +------------------------------------
 1 file changed, 1 insertion(+), 36 deletions(-)

diff --git a/src/bytecode.c b/src/bytecode.c
index 8d3817e64c..286a8d675d 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -255,11 +255,7 @@ DEFINE (Brem, 0246)                                        
                \
 DEFINE (Bnumberp, 0247)                                                        
\
 DEFINE (Bintegerp, 0250)                                               \
                                                                        \
-DEFINE (BRgoto, 0252)                                                  \
-DEFINE (BRgotoifnil, 0253)                                             \
-DEFINE (BRgotoifnonnil, 0254)                                          \
-DEFINE (BRgotoifnilelsepop, 0255)                                      \
-DEFINE (BRgotoifnonnilelsepop, 0256)                                   \
+/* 0252-0256 were relative jumps, apparently never used.  */            \
                                                                        \
 DEFINE (BlistN, 0257)                                                  \
 DEFINE (BconcatN, 0260)                                                        
\
@@ -702,7 +698,6 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, 
Lisp_Object maxdepth,
          op = FETCH2;
        op_branch:
          op -= pc - bytestr_data;
-       op_relative_branch:
          if (BYTE_CODE_SAFE
              && ! (bytestr_data - pc <= op
                    && op < bytestr_data + bytestr_length - pc))
@@ -737,36 +732,6 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, 
Lisp_Object maxdepth,
          DISCARD (1);
          NEXT;
 
-       CASE (BRgoto):
-         op = FETCH - 128;
-         goto op_relative_branch;
-
-       CASE (BRgotoifnil):
-         op = FETCH - 128;
-         if (NILP (POP))
-           goto op_relative_branch;
-         NEXT;
-
-       CASE (BRgotoifnonnil):
-         op = FETCH - 128;
-         if (!NILP (POP))
-           goto op_relative_branch;
-         NEXT;
-
-       CASE (BRgotoifnilelsepop):
-         op = FETCH - 128;
-         if (NILP (TOP))
-           goto op_relative_branch;
-         DISCARD (1);
-         NEXT;
-
-       CASE (BRgotoifnonnilelsepop):
-         op = FETCH - 128;
-         if (!NILP (TOP))
-           goto op_relative_branch;
-         DISCARD (1);
-         NEXT;
-
        CASE (Breturn):
          goto exit;
 



reply via email to

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