]> git.eshelyaron.com Git - emacs.git/commitdiff
* Nativecomp disable propagation of pre slot access type check (bug#63710)
authorAndrea Corallo <akrl@sdf.org>
Sun, 28 May 2023 12:51:58 +0000 (14:51 +0200)
committerAndrea Corallo <akrl@sdf.org>
Sun, 28 May 2023 13:07:31 +0000 (15:07 +0200)
* lisp/emacs-lisp/comp.el (comp-add-cond-cstrs): Temporary disable
propagation of pre slot access type check.

lisp/emacs-lisp/comp.el

index 8e59c06d40e91ecce525ba07372ebb7a57924b53..0556e69051dbf6c02d10574f017d85e64a341804 100644 (file)
@@ -2548,19 +2548,19 @@ TARGET-BB-SYM is the symbol name of the target block."
     for insns-seq on (comp-block-insns b)
     do
     (pcase insns-seq
-      (`((set ,(and (pred comp-mvar-p) mvar-tested-copy)
-              ,(and (pred comp-mvar-p) mvar-tested))
-         (set ,(and (pred comp-mvar-p) mvar-1)
-              (call type-of ,(and (pred comp-mvar-p) mvar-tested-copy)))
-         (set ,(and (pred comp-mvar-p) mvar-2)
-              (call symbol-value ,(and (pred comp-cstr-cl-tag-p) mvar-tag)))
-         (set ,(and (pred comp-mvar-p) mvar-3)
-              (call memq ,(and (pred comp-mvar-p) mvar-1) ,(and (pred comp-mvar-p) mvar-2)))
-         (cond-jump ,(and (pred comp-mvar-p) mvar-3) ,(pred comp-mvar-p) ,bb1 ,bb2))
-       (push  `(assume ,mvar-tested ,(make-comp-mvar :type (comp-cstr-cl-tag mvar-tag)))
-              (comp-block-insns (comp-add-cond-cstrs-target-block b bb2)))
-       (push  `(assume ,mvar-tested ,(make-comp-mvar :type (comp-cstr-cl-tag mvar-tag) :neg t))
-              (comp-block-insns (comp-add-cond-cstrs-target-block b bb1))))
+      ;; (`((set ,(and (pred comp-mvar-p) mvar-tested-copy)
+      ;;         ,(and (pred comp-mvar-p) mvar-tested))
+      ;;    (set ,(and (pred comp-mvar-p) mvar-1)
+      ;;         (call type-of ,(and (pred comp-mvar-p) mvar-tested-copy)))
+      ;;    (set ,(and (pred comp-mvar-p) mvar-2)
+      ;;         (call symbol-value ,(and (pred comp-cstr-cl-tag-p) mvar-tag)))
+      ;;    (set ,(and (pred comp-mvar-p) mvar-3)
+      ;;         (call memq ,(and (pred comp-mvar-p) mvar-1) ,(and (pred comp-mvar-p) mvar-2)))
+      ;;    (cond-jump ,(and (pred comp-mvar-p) mvar-3) ,(pred comp-mvar-p) ,bb1 ,bb2))
+      ;;  (push  `(assume ,mvar-tested ,(make-comp-mvar :type (comp-cstr-cl-tag mvar-tag)))
+      ;;         (comp-block-insns (comp-add-cond-cstrs-target-block b bb2)))
+      ;;  (push  `(assume ,mvar-tested ,(make-comp-mvar :type (comp-cstr-cl-tag mvar-tag) :neg t))
+      ;;         (comp-block-insns (comp-add-cond-cstrs-target-block b bb1))))
       (`((set ,(and (pred comp-mvar-p) cmp-res)
               (,(pred comp-call-op-p)
                ,(and (or (pred comp-equality-fun-p)