Skip to content
Snippets Groups Projects
Commit c1df2226 authored by wlott's avatar wlott
Browse files

Now that the error macros want the error symbol instead of a value, we

can't pass in the error as a variant-var.
parent 3b1b3643
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
;;; Scott Fahlman (FAHLMAN@CMUC). ;;; Scott Fahlman (FAHLMAN@CMUC).
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/type-vops.lisp,v 1.15 1990/06/04 05:23:48 wlott Exp $ ;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/type-vops.lisp,v 1.16 1990/06/04 06:07:54 wlott Exp $
;;; ;;;
;;; This file contains the VM definition of type testing and checking VOPs ;;; This file contains the VM definition of type testing and checking VOPs
;;; for the RT. ;;; for the RT.
...@@ -31,18 +31,13 @@ ...@@ -31,18 +31,13 @@
(:results (:results
(result :scs (any-reg descriptor-reg))) (result :scs (any-reg descriptor-reg)))
(:variant-vars type-code error-code) (:variant-vars type-code error-code)
(:temporary (:type random :scs (non-descriptor-reg)) temp) (:temporary (:type random :scs (non-descriptor-reg)) temp))
(:generator 4
(let ((err-lab (generate-error-code error-code value)))
(test-simple-type value temp err-lab t type-code)
(move result value))))
(define-vop (simple-type-predicate) (define-vop (simple-type-predicate)
(:args (:args
(value :scs (any-reg descriptor-reg))) (value :scs (any-reg descriptor-reg)))
(:conditional) (:conditional)
(:info target not-p) (:info target not-p)
(:variant-vars type-code)
(:policy :fast-safe) (:policy :fast-safe)
(:temporary (:type random :scs (non-descriptor-reg)) temp) (:temporary (:type random :scs (non-descriptor-reg)) temp)
(:generator 4 (:generator 4
...@@ -54,7 +49,10 @@ ...@@ -54,7 +49,10 @@
(:variant ,type-code) (:variant ,type-code)
(:translate ,pred-name)) (:translate ,pred-name))
(define-vop (,check-name check-simple-type) (define-vop (,check-name check-simple-type)
(:variant ,type-code ,error-code)) (:generator 4
(let ((err-lab (generate-error-code ,error-code value)))
(test-simple-type value temp err-lab t ,type-code)
(move result value))))
(primitive-type-vop ,check-name (:check) ,ptype)))) (primitive-type-vop ,check-name (:check) ,ptype))))
;; ### Want to tweek costs so that checks that do dereferences are ;; ### Want to tweek costs so that checks that do dereferences are
...@@ -135,7 +133,6 @@ ...@@ -135,7 +133,6 @@
;;; Slightly tenser versions for FIXNUM's ;;; Slightly tenser versions for FIXNUM's
;;; ;;;
(define-vop (check-fixnum check-simple-type) (define-vop (check-fixnum check-simple-type)
(:ignore type-code error-code)
(:generator 3 (:generator 3
(let ((err-lab (generate-error-code object-not-fixnum-error value))) (let ((err-lab (generate-error-code object-not-fixnum-error value)))
(inst and temp value #x3) (inst and temp value #x3)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment