X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fassem.lisp;h=e86363335ac92d4712cfaa334cc2a81e6ff1ec21;hb=3d9d3088982414ca5617caf62bd37b4fecac29b6;hp=5634b9b1ab474bfb4b7289122be1d020fbd2297a;hpb=0f726536ee7ec85f3a9483a26d08bd7d1cd96750;p=sbcl.git diff --git a/src/compiler/assem.lisp b/src/compiler/assem.lisp index 5634b9b..e863633 100644 --- a/src/compiler/assem.lisp +++ b/src/compiler/assem.lisp @@ -172,7 +172,7 @@ ;;;; structures/types used by the scheduler -(sb!c:def-boolean-attribute instruction +(!def-boolean-attribute instruction ;; This attribute is set if the scheduler can freely flush this ;; instruction if it thinks it is not needed. Examples are NOP and ;; instructions that have no side effect not described by the @@ -185,7 +185,7 @@ ;; This attribute indicates that this ``instruction'' can be ;; variable length, and therefore had better never be used in a ;; branch delay slot. - var-length) + variable-length) (defstruct (instruction (:include sset-element) @@ -360,7 +360,7 @@ (when countdown (decf countdown) (aver (not (instruction-attributep (inst-attributes inst) - var-length)))) + variable-length)))) (cond ((instruction-attributep (inst-attributes inst) branch) (unless countdown (setf countdown (inst-delay inst))) @@ -573,7 +573,7 @@ p ;; the branch has two dependents and one of them dpends on (let ((inst (car remaining))) (unless (and delay-slot-p (instruction-attributep (inst-attributes inst) - var-length)) + variable-length)) ;; We've got us a live one here. Go for it. #!+sb-show-assem (format *trace-output* "emitting ~S~%" inst) ;; Delete it from the list of insts. @@ -1125,7 +1125,7 @@ p ;; the branch has two dependents and one of them dpends on ;;; FIXME: The way this macro uses MACROEXPAND internally breaks my ;;; old assumptions about macros which are needed both in the host and ;;; the target. (This is more or less the same way that PUSH-IN, -;;; DELETEF-IN, and DEF-BOOLEAN-ATTRIBUTE break my old assumptions, +;;; DELETEF-IN, and !DEF-BOOLEAN-ATTRIBUTE break my old assumptions, ;;; except that they used GET-SETF-EXPANSION instead of MACROEXPAND to ;;; do the dirty deed.) The quick and dirty "solution" here is the ;;; same as there: use cut and paste to duplicate the defmacro in a @@ -1332,6 +1332,7 @@ p ;; the branch has two dependents and one of them dpends on ;;; calling FUNCTION once on the entire compacted segment buffer. -- ;;; WHN 19990322 (defun on-segment-contents-vectorly (segment function) + (declare (type function function)) (let ((buffer (segment-buffer segment)) (i0 0)) (flet ((frob (i0 i1)