From 83f36737d906247e16c5498ec4fdae1764108b07 Mon Sep 17 00:00:00 2001 From: toy <toy> Date: Mon, 14 May 2001 13:58:19 +0000 Subject: [PATCH] For type tests, assume branches for test failures are not taken. (That is, assume the object is the right type.) --- compiler/sparc/macros.lisp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/compiler/sparc/macros.lisp b/compiler/sparc/macros.lisp index c9fade865..906617a93 100644 --- a/compiler/sparc/macros.lisp +++ b/compiler/sparc/macros.lisp @@ -5,11 +5,11 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/macros.lisp,v 1.12 2001/01/03 08:45:52 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/macros.lisp,v 1.13 2001/05/14 13:58:19 toy Exp $") ;;; ;;; ********************************************************************** ;;; -;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/macros.lisp,v 1.12 2001/01/03 08:45:52 dtc Exp $ +;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/macros.lisp,v 1.13 2001/05/14 13:58:19 toy Exp $ ;;; ;;; This file contains various useful macros for generating SPARC code. ;;; @@ -275,7 +275,8 @@ (when fixnump `((inst andcc zero-tn ,reg 3) ,(if (or lowtags hdrs) - `(inst b :eq ,(if not-p not-target target)) + `(inst b :eq ,(if not-p not-target target) + #+sparc-v9 ,(if not-p :pn :pt)) `(inst b ,(if not-p :ne :eq) ,target #+sparc-v9 ,(if not-p :pn :pt))))) (when (or lowtags hdrs) @@ -292,7 +293,8 @@ (1- lowtag-limit) lowtags))) (when hdrs `((inst cmp ,temp ,lowtag) - (inst b :ne ,(if not-p target not-target)) + (inst b :ne ,(if not-p target not-target) + #+sparc-v9 ,(if not-p :pn :pt)) (inst nop) (load-type ,temp ,reg (- ,lowtag)) ,@(gen-other-immediate-test temp target not-target not-p hdrs)))))) -- GitLab