From c8e527cbeeea6be9bb713af33a3f40408b261234 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Sun, 28 May 2023 14:51:58 +0200 Subject: [PATCH] * Nativecomp disable propagation of pre slot access type check (bug#63710) * lisp/emacs-lisp/comp.el (comp-add-cond-cstrs): Temporary disable propagation of pre slot access type check. --- lisp/emacs-lisp/comp.el | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 8e59c06d40e..0556e69051d 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -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) -- 2.39.2