X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Ftype-vops.lisp;h=9d53fe955d2d89efa997a4cfad3f725ccaf1186a;hb=8f45dd3a5a074998e1aa697ba8f2a8b1b7388427;hp=4b8cd454b9f01ee66040239bbac11dca20cfc0de;hpb=fd63d6aad4a5a3b171eafb56b1b6bd502e501281;p=sbcl.git diff --git a/src/compiler/x86/type-vops.lisp b/src/compiler/x86/type-vops.lisp index 4b8cd45..9d53fe9 100644 --- a/src/compiler/x86/type-vops.lisp +++ b/src/compiler/x86/type-vops.lisp @@ -197,7 +197,7 @@ `((define-vop (,check-name ,(intern (concatenate 'string prefix "CHECK-TYPE"))) (:generator ,cost (let ((err-lab - (generate-error-code vop ,error-code value))) + (generate-error-code vop ',error-code value))) (test-type value err-lab t (,@type-codes)) (move result value)))))) ,@(when ptype @@ -207,11 +207,12 @@ (define-vop (fixnump/unsigned-byte-32 simple-type-predicate) (:args (value :scs (unsigned-reg))) + (:info) + (:conditional :be) (:arg-types unsigned-num) (:translate fixnump) (:generator 5 - (inst cmp value #.sb!xc:most-positive-fixnum) - (inst jmp (if not-p :a :be) target))) + (inst cmp value #.sb!xc:most-positive-fixnum))) ;;; A (SIGNED-BYTE 32) can be represented with either fixnum or a bignum with ;;; exactly one digit. @@ -237,7 +238,7 @@ (define-vop (check-signed-byte-32 check-type) (:generator 45 (let ((nope (generate-error-code vop - object-not-signed-byte-32-error + 'object-not-signed-byte-32-error value))) (generate-fixnum-test value) (inst jmp :e yep) @@ -302,7 +303,7 @@ (define-vop (check-unsigned-byte-32 check-type) (:generator 45 (let ((nope - (generate-error-code vop object-not-unsigned-byte-32-error value)) + (generate-error-code vop 'object-not-unsigned-byte-32-error value)) (yep (gen-label)) (fixnum (gen-label)) (single-word (gen-label))) @@ -359,7 +360,7 @@ (define-vop (check-symbol check-type) (:generator 12 - (let ((error (generate-error-code vop object-not-symbol-error value))) + (let ((error (generate-error-code vop 'object-not-symbol-error value))) (inst cmp value nil-value) (inst jmp :e drop-thru) (test-type value error t (symbol-header-widetag))) @@ -377,7 +378,7 @@ (define-vop (check-cons check-type) (:generator 8 - (let ((error (generate-error-code vop object-not-cons-error value))) + (let ((error (generate-error-code vop 'object-not-cons-error value))) (inst cmp value nil-value) (inst jmp :e error) (test-type value error t (list-pointer-lowtag))