X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ffixup.lisp;h=6fd06caf3c7c0895889abd987470c716827dfbe6;hb=cd2c70c8b5d4dcc62b968f5a9bedd3c9c8698e82;hp=d789bbf96459ba02dbf928632113dc61ad3bf025;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/compiler/fixup.lisp b/src/compiler/fixup.lisp index d789bbf..6fd06ca 100644 --- a/src/compiler/fixup.lisp +++ b/src/compiler/fixup.lisp @@ -12,34 +12,22 @@ (in-package "SB!C") -(file-comment - "$Header$") - -;;; FIXUP -- A fixup of some kind. +;;; a fixup of some kind (defstruct (fixup - (:constructor make-fixup (name flavor &optional offset))) - ;; The name and flavor of the fixup. The assembler makes no assumptions - ;; about the contents of these fields; their semantics are imposed by the - ;; dumper. + (:constructor make-fixup (name flavor &optional offset)) + (:copier nil)) + ;; the name and flavor of the fixup. The assembler makes no + ;; assumptions about the contents of these fields; their semantics + ;; are imposed by the dumper. name flavor - ;; OFFSET is an optional offset from whatever external label this fixup - ;; refers to. Or in the case of the :CODE-OBJECT flavor of fixups on the :X86 - ;; architecture, NAME is always NIL, so this fixup doesn't refer to an - ;; external label, and OFFSET is an offset from the beginning of the - ;; current code block. + ;; OFFSET is an optional offset from whatever external label this + ;; fixup refers to. Or in the case of the :CODE-OBJECT flavor of + ;; fixups on the :X86 architecture, NAME is always NIL, so this + ;; fixup doesn't refer to an external label, and OFFSET is an offset + ;; from the beginning of the current code block. offset) -;;; were done with another flavor - -(def!method print-object ((fixup fixup) stream) - (print-unreadable-object (fixup stream :type t) - (format stream - ":FLAVOR ~S :NAME ~S :OFFSET ~S" - (fixup-flavor fixup) - (fixup-name fixup) - (fixup-offset fixup)))) - ;;; KLUDGE: Despite its name, this is not a list of FIXUP objects, but rather a ;;; list of `(,KIND ,FIXUP ,POSN). Perhaps this non-mnemonicity could be ;;; reduced by naming what's currently a FIXUP structure a FIXUP-REQUEST, and