[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master fbc96dcc4ea 2/2: Revert "* Nativecomp disable propagation of pre
From: |
Andrea Corallo |
Subject: |
master fbc96dcc4ea 2/2: Revert "* Nativecomp disable propagation of pre slot access type check..." |
Date: |
Mon, 29 May 2023 12:07:44 -0400 (EDT) |
branch: master
commit fbc96dcc4eadd4cce067ba6d177efc69ed459a27
Author: Andrea Corallo <akrl@sdf.org>
Commit: Andrea Corallo <akrl@sdf.org>
Revert "* Nativecomp disable propagation of pre slot access type check..."
This reverts commit c8e527cbeeea6be9bb713af33a3f40408b261234 as
56a8d57d032 fixes the root cause.
---
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 937d9fdf926..ec51f805c2b 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -2550,19 +2550,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)