emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[nongnu] elpa/slime 514c26f 3/3: swank-sbcl-exts: Restore compute-enrich


From: ELPA Syncer
Subject: [nongnu] elpa/slime 514c26f 3/3: swank-sbcl-exts: Restore compute-enriched-decoded-arglist for inst.
Date: Thu, 30 Sep 2021 19:57:45 -0400 (EDT)

branch: elpa/slime
commit 514c26f10041532594d3ed9ba3b5d95f76bb85a9
Author: Stas Boukarev <stassats@gmail.com>
Commit: Stas Boukarev <stassats@gmail.com>

    swank-sbcl-exts: Restore compute-enriched-decoded-arglist for inst.
---
 contrib/swank-sbcl-exts.lisp | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/contrib/swank-sbcl-exts.lisp b/contrib/swank-sbcl-exts.lisp
index 6cbe09d..dad8330 100644
--- a/contrib/swank-sbcl-exts.lisp
+++ b/contrib/swank-sbcl-exts.lisp
@@ -24,7 +24,7 @@
              ;; The arglist of INST is (instruction ...INSTR-ARGLIST...).
              (push 'sb-assem::instruction (arglist.required-args 
decoded-arglist))
              (values decoded-arglist
-                     (list instr-name)
+                     (list (string-downcase instr-name))
                      t))))
     (if (null argument-forms)
         (call-next-method)
@@ -35,20 +35,18 @@
                      (arglist-dummy
                       (string-upcase (arglist-dummy.string-representation 
instruction)))
                      (symbol
-                      (string-downcase instruction))))
+                      (string-upcase instruction))))
                  (instr-fn
-                   #+#.(swank/backend:with-symbol 'op-encoder-name 'sb-assem)
-                   (or (sb-assem::op-encoder-name instr-name)
-                       (sb-assem::op-encoder-name (string-upcase instr-name)))
-                   #+#.(swank/backend:with-symbol 'inst-emitter-symbol 
'sb-assem)
-                   (sb-assem::inst-emitter-symbol instr-name)
                    #+(and
-                      (not #.(swank/backend:with-symbol 'inst-emitter-symbol 
'sb-assem))
-                      #.(swank/backend:with-symbol '*assem-instructions* 
'sb-assem))
-                   (gethash instr-name sb-assem:*assem-instructions*)))
+                      #.(swank/backend:with-symbol '*inst-encoder* 'sb-assem)
+                      #.(swank/backend:with-symbol 
'*backend-instruction-set-package* 'sb-assem))
+                   (or (gethash (find-symbol instr-name 
sb-assem::*backend-instruction-set-package*)
+                                sb-assem::*inst-encoder*)
+                       (find-symbol (format nil "M:~A" instr-name)
+                                    
sb-assem::*backend-instruction-set-package*))))
             (cond ((functionp instr-fn)
                    (with-available-arglist (arglist) (arglist instr-fn)
-                     (decode-instruction-arglist instr-name arglist)))
+                     (decode-instruction-arglist instr-name (cdr arglist))))
                   ((fboundp instr-fn)
                    (with-available-arglist (arglist) (arglist instr-fn)
                      ;; SB-ASSEM:INST invokes a symbolic INSTR-FN with
@@ -57,7 +55,7 @@
                                                  (if (or (get instr-fn :macro)
                                                          (macro-function 
instr-fn))
                                                      arglist
-                                                     (cddr arglist)))))
+                                                     (cdr arglist)))))
                   (t
                    (call-next-method))))))))
 



reply via email to

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