- Timestamp:
- Nov 24, 2007, 6:24:00 PM (17 years ago)
- File:
-
- 1 edited
-
branches/working-0711/ccl/compiler/X86/x862.lisp (modified) (23 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/working-0711/ccl/compiler/X86/x862.lisp
r7636 r7718 48 48 (if (eq (acode-operator x) (%nx1-operator immediate)) 49 49 (cadr x) 50 ( error "~&Bug:not an immediate: ~s" x)))50 (compiler-bug "not an immediate: ~s" x))) 51 51 52 52 (defmacro with-x86-p2-declarations (declsform &body body) … … 251 251 ((eq cell bottom) res) 252 252 (if (null cell) 253 ( error"Horrible compiler bug.")253 (compiler-bug "Horrible compiler bug.") 254 254 (if (eq (lcell-kind cell) kind) 255 255 (push cell res))))) … … 347 347 (defun x862-reverse-cr-bit (cr-bit) 348 348 (or (svref *x862-reversed-cr-bits* cr-bit) 349 ( error"Can't reverse CR bit ~d" cr-bit)))349 (compiler-bug "Can't reverse CR bit ~d" cr-bit))) 350 350 351 351 … … 657 657 (if lap-label 658 658 (x86-lap-label-address lap-label) 659 ( error"Missing or bad ~s label: ~s"660 (if start-p 'start 'end) sym)))659 (compiler-bug "Missing or bad ~s label: ~s" 660 (if start-p 'start 'end) sym))) 661 661 x8664::fulltag-function))) 662 662 (destructuring-bind (var sym startlab endlab) info … … 1100 1100 (x862-form seg nil nil f )) 1101 1101 (apply fn seg vreg xfer (%cdr form))) 1102 ( error"x862-form ? ~s" form))))))1102 (compiler-bug "x862-form ? ~s" form)))))) 1103 1103 1104 1104 ;;; dest is a float reg - form is acode 1105 1105 (defun x862-form-float (seg freg xfer form) 1106 1106 (declare (ignore xfer)) 1107 (when (or (nx-null form)(nx-t form))( error"x862-form to freg ~s" form))1107 (when (or (nx-null form)(nx-t form))(compiler-bug "x862-form to freg ~s" form)) 1108 1108 (when (and (= (get-regspec-mode freg) hard-reg-class-fpr-mode-double) 1109 1109 (x862-form-typep form 'double-float)) … … 1114 1114 (setq fn (svref *x862-specials* (%ilogand #.operator-id-mask (acode-operator form))))) 1115 1115 (apply fn seg freg nil (%cdr form)) 1116 ( error"x862-form ? ~s" form))))1116 (compiler-bug "x862-form ? ~s" form)))) 1117 1117 1118 1118 … … 2483 2483 (when tail-p 2484 2484 #-no-compiler-bugs 2485 (unless (or immp symp lfunp (typep fn 'lreg) (fixnump fn)) ( error"Well, well, well. How could this have happened ?"))2485 (unless (or immp symp lfunp (typep fn 'lreg) (fixnump fn)) (compiler-bug "Well, well, well. How could this have happened ?")) 2486 2486 (when a-reg 2487 2487 (x862-copy-register seg destreg a-reg)) … … 2505 2505 (if (x862-mvpass-p xfer) 2506 2506 (let* ((call-reg (if symp ($ x8664::fname) ($ x8664::temp0)))) 2507 (unless mvpass-label ( error "bug:no label for mvpass"))2507 (unless mvpass-label (compiler-bug "no label for mvpass")) 2508 2508 (if label-p 2509 2509 (x862-copy-register seg call-reg ($ x8664::fn)) … … 2877 2877 ($ x8664::arg_z) 2878 2878 (make-wired-lreg x8664::imm0 :mode mode))) 2879 (t ( error"Unknown register class for reg ~s" reg))))))2879 (t (compiler-bug "Unknown register class for reg ~s" reg)))))) 2880 2880 2881 2881 ;;; The compiler often generates superfluous pushes & pops. Try to … … 3963 3963 (progn 3964 3964 (when (%ilogbitp $vbitpunted bits) 3965 ( error"bind-var: var ~s was punted" var))3965 (compiler-bug "bind-var: var ~s was punted" var)) 3966 3966 (when make-vcell 3967 3967 (with-node-target (x8664::allocptr) closed … … 3999 3999 (not (logbitp $vbitpunted bits)))) 4000 4000 (let ((endnote (%car (%cdddr (assq var *x862-recorded-symbols*))))) 4001 (unless endnote ( error"x862-close-var for ~s" (var-name var)))4001 (unless endnote (compiler-bug "x862-close-var for ~s" (var-name var))) 4002 4002 (setf (vinsn-note-class endnote) :end-variable-scope) 4003 4003 (append-dll-node (vinsn-note-label endnote) seg))))) … … 4708 4708 (x862-decode-stack (aref *x862-undo-stack* target-catch)))) 4709 4709 (if (%i< 0 (setq diff (%i- current-cstack target-cstack))) 4710 ( error"Bug: adjust foreign stack ?"))4710 (compiler-bug "Bug: adjust foreign stack ?")) 4711 4711 (if (%i< 0 (setq diff (%i- current-vstack target-vstack))) 4712 4712 (with-x86-local-vinsn-macros (seg) … … 4983 4983 (incf num-c-frames)) 4984 4984 (if (%i> cstack target-cstack) 4985 ( error"bug: adjust foreign stack ??"))4985 (compiler-bug "bug: adjust foreign stack ??")) 4986 4986 ;; else what's going on? $sp-stkcons, for one thing 4987 4987 (setq cstack target-cstack))) … … 5024 5024 (declare (fixnum numopt nkeys numreq vtotal doadlword)) 5025 5025 (when (or (> numreq 255) (> numopt 255) (> nkeys 255)) 5026 ( error"A lambda list can contain a maximum of 255 required, 255 optional, and 255 keywords args"))5026 (compiler-bug "A lambda list can contain a maximum of 255 required, 255 optional, and 255 keywords args")) 5027 5027 (if (fixnump listform) 5028 5028 (x862-store-ea seg listform argreg) … … 5267 5267 (backend-lisp-context-register *target-backend*) 5268 5268 (or (assq valform unique-labels) 5269 ( error5269 (compiler-bug 5270 5270 "unknown vinsn label ~s" valform)))) 5271 5271 ((atom valform) valform) … … 5317 5317 (unless (eval-predicate pred) 5318 5318 (return nil)))) 5319 (t ( error"Unknown predicate: ~s" f))))5319 (t (compiler-bug "Unknown predicate: ~s" f)))) 5320 5320 (expand-pseudo-op (f) 5321 5321 (destructuring-bind (directive arg) f … … 5345 5345 (:quad (frag-list-push-64 frag-list 0) 5346 5346 (setq reloctype :expr64)) 5347 ((:align :talign) ( error"~s expression ~s not constant" directive arg)))5347 ((:align :talign) (compiler-bug "~s expression ~s not constant" directive arg))) 5348 5348 (when reloctype 5349 5349 (push … … 5358 5358 (emit-x86-lap-label frag-list (assq f unique-labels)) 5359 5359 (if (atom f) 5360 ( error"Invalid form in vinsn body: ~s" f)5360 (compiler-bug "Invalid form in vinsn body: ~s" f) 5361 5361 (if (atom (car f)) 5362 5362 (if (keywordp (car f)) … … 5740 5740 (defx862 x862-%primitive %primitive (seg vreg xfer &rest ignore) 5741 5741 (declare (ignore seg vreg xfer ignore)) 5742 ( error"You're probably losing big: using %primitive ..."))5742 (compiler-bug "You're probably losing big: using %primitive ...")) 5743 5743 5744 5744 (defx862 x862-consp consp (seg vreg xfer cc form) … … 6225 6225 (and nil (format t "~& could use cell ~s for var ~s" cell (var-name varnode))) 6226 6226 (if (logbitp x862-debug-verbose-bit *x862-debug-mask*) 6227 ( break"wrong ea for lcell for var ~s: got ~d, expected ~d"6228 (var-name varnode) (calc-lcell-offset cell) (logand ea-or-form #xffff))))6227 (compiler-bug "wrong ea for lcell for var ~s: got ~d, expected ~d" 6228 (var-name varnode) (calc-lcell-offset cell) (logand ea-or-form #xffff)))) 6229 6229 (if (not cell) 6230 6230 (when (memory-spec-p ea-or-form) 6231 6231 (if (logbitp x862-debug-verbose-bit *x862-debug-mask*) 6232 (format t "~& no lcell for ~s." (var-name varnode)))))) 6233 6232 (compiler-bug "no lcell for ~s." (var-name varnode)))))) 6234 6233 (unless (or (typep ea-or-form 'lreg) (fixnump ea-or-form)) 6235 ( break"bogus ref to var ~s (~s) : ~s " varnode (var-name varnode) ea-or-form))6234 (compiler-bug "bogus ref to var ~s (~s) : ~s " varnode (var-name varnode) ea-or-form)) 6236 6235 (x862-do-lexical-reference seg vreg ea-or-form) 6237 6236 (^))))) … … 6239 6238 (defx862 x862-setq-lexical setq-lexical (seg vreg xfer varspec form) 6240 6239 (let* ((ea (var-ea varspec))) 6241 ;(unless (fixnump ea) (break"setq lexical is losing BIG"))6240 ;(unless (fixnump ea) compiler-bug "setq lexical is losing BIG")) 6242 6241 (let* ((valreg (x862-one-untargeted-reg-form seg form (if (and (register-spec-p ea) 6243 6242 (or (null vreg) (eq ea vreg))) … … 6268 6267 (if (= class hard-reg-class-crf) 6269 6268 (progn 6270 ; (break"Would have clobbered a GPR!")6269 ;compiler-bug "Would have clobbered a GPR!") 6271 6270 (x862-branch seg (x862-cd-true xfer))) 6272 6271 (progn … … 8077 8076 (progn 8078 8077 (unless (logbitp (hard-regspec-value vreg) *backend-imm-temps*) 8079 ( error"I give up. When will I get this right ?"))8078 (compiler-bug "I give up. When will I get this right ?")) 8080 8079 (let* ((natural-reg (x862-one-targeted-reg-form seg 8081 8080 form
Note:
See TracChangeset
for help on using the changeset viewer.
