Skip to content
Snippets Groups Projects
Commit 5f7d5909 authored by ram's avatar ram
Browse files

Changed to use the new GENERATE-ERROR-CODE interface.

parent d4c8a0e8
No related branches found
No related tags found
No related merge requests found
...@@ -85,11 +85,12 @@ ...@@ -85,11 +85,12 @@
(:args (x :scs (any-reg descriptor-reg)) (:args (x :scs (any-reg descriptor-reg))
(y :scs (any-reg descriptor-reg))) (y :scs (any-reg descriptor-reg)))
(:variant-vars condition not-p error) (:variant-vars condition not-p error)
(:node-var node) (:vop-var vop)
(:save-p :compute-only)
(:policy :fast-safe) (:policy :fast-safe)
(:generator 3 (:generator 3
(inst c x y) (inst c x y)
(let ((target (generate-error-code node error x y))) (let ((target (generate-error-code vop error x y)))
(if not-p (if not-p
(inst bb condition target) (inst bb condition target)
(inst bnb condition target))))) (inst bnb condition target)))))
......
...@@ -26,10 +26,11 @@ ...@@ -26,10 +26,11 @@
(: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)
(:node-var node) (:vop-var vop)
(:save-p :compute-only)
(:temporary (:type random :scs (non-descriptor-reg)) temp) (:temporary (:type random :scs (non-descriptor-reg)) temp)
(:generator 4 (:generator 4
(let ((err-lab (generate-error-code node error-code value))) (let ((err-lab (generate-error-code vop error-code value)))
(test-simple-type value temp err-lab t type-code) (test-simple-type value temp err-lab t type-code)
(unless (location= value result) (unless (location= value result)
(inst lr result value))))) (inst lr result value)))))
...@@ -126,7 +127,8 @@ simple-integer-vector-p? ...@@ -126,7 +127,8 @@ simple-integer-vector-p?
(:results (:results
(res :scs (any-reg descriptor-reg))) (res :scs (any-reg descriptor-reg)))
(:temporary (:scs (any-reg) :type fixnum) temp) (:temporary (:scs (any-reg) :type fixnum) temp)
(:node-var node)) (:vop-var vop)
(:save-p :compute-only))
(macrolet ((frob (pred-name check-name error-code &rest types) (macrolet ((frob (pred-name check-name error-code &rest types)
...@@ -144,7 +146,7 @@ simple-integer-vector-p? ...@@ -144,7 +146,7 @@ simple-integer-vector-p?
`((define-vop (,check-name check-hairy-type) `((define-vop (,check-name check-hairy-type)
(:generator ,cost (:generator ,cost
(let ((err-lab (generate-error-code (let ((err-lab (generate-error-code
node ,error-code obj))) vop ,error-code obj)))
(test-hairy-type obj temp err-lab t ,@types)) (test-hairy-type obj temp err-lab t ,@types))
(unless (location= obj res) (unless (location= obj res)
(inst lr res obj)))))))))) (inst lr res obj))))))))))
...@@ -205,7 +207,7 @@ simple-integer-vector-p? ...@@ -205,7 +207,7 @@ simple-integer-vector-p?
,@body)) ,@body))
(define-vop (,check-name check-list-symbol) (define-vop (,check-name check-list-symbol)
(:generator 12 (:generator 12
(let ((target (generate-error-code node ,error-code obj)) (let ((target (generate-error-code vop ,error-code obj))
(not-p t)) (not-p t))
,@body ,@body
(unless (location= obj res) (unless (location= obj res)
......
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