0.8.4.17:
authorAlexey Dejneka <adejneka@comail.ru>
Fri, 10 Oct 2003 07:33:32 +0000 (07:33 +0000)
committerAlexey Dejneka <adejneka@comail.ru>
Fri, 10 Oct 2003 07:33:32 +0000 (07:33 +0000)
        * Remove CLOSURE-FUN-HEADER-WIDETAG; preserve its number for
          some time in order to keep FASL compatibility.

13 files changed:
src/code/debug-int.lisp
src/code/defmacro.lisp
src/code/describe.lisp
src/code/macros.lisp
src/code/target-misc.lisp
src/compiler/generic/early-objdef.lisp
src/compiler/generic/early-type-vops.lisp
src/runtime/backtrace.c
src/runtime/gc-common.c
src/runtime/print.c
src/runtime/purify.c
tests/debug.impure.lisp
version.lisp-expr

index 76aaea4..d05a3da 100644 (file)
      (fun-debug-fun (%closure-fun fun)))
     (#.sb!vm:funcallable-instance-header-widetag
      (fun-debug-fun (funcallable-instance-fun fun)))
-    ((#.sb!vm:simple-fun-header-widetag
-      #.sb!vm:closure-fun-header-widetag)
+    (#.sb!vm:simple-fun-header-widetag
       (let* ((name (%simple-fun-name fun))
             (component (fun-code-header fun))
             (res (find-if
index a68fb37..edbc93c 100644 (file)
@@ -92,8 +92,7 @@
                              lambda-list
                             (%simple-fun-name (%closure-fun definition))
                             debug-name))
-                      ((#.sb!vm:simple-fun-header-widetag
-                        #.sb!vm:closure-fun-header-widetag)
+                      (#.sb!vm:simple-fun-header-widetag
                        (setf (%simple-fun-arglist definition) lambda-list
                             (%simple-fun-name definition) debug-name))))
             name))))
index 5fe79b8..ca2ab73 100644 (file)
         (pprint-indent :current 8)
         (dotimes (i (- (get-closure-length x) (1- sb-vm:closure-info-offset)))
           (format s "~@:_~S: ~S" i (%closure-index-ref x i)))))
-      ((#.sb-vm:simple-fun-header-widetag #.sb-vm:closure-fun-header-widetag)
+      (#.sb-vm:simple-fun-header-widetag
        (%describe-fun-compiled x s kind name))
       (#.sb-vm:funcallable-instance-header-widetag
        ;; Only STANDARD-GENERIC-FUNCTION would be handled here, but
index 4ef3dc0..feb191c 100644 (file)
                              lambda-list
                             (%simple-fun-name (%closure-fun definition))
                             debug-name))
-                      ((#.sb!vm:simple-fun-header-widetag
-                        #.sb!vm:closure-fun-header-widetag)
+                      (#.sb!vm:simple-fun-header-widetag
                        (setf (%simple-fun-arglist definition) lambda-list
                             (%simple-fun-name definition) debug-name))))
             name))))
index 37bb400..8c798e2 100644 (file)
@@ -54,8 +54,7 @@
   (case (widetag-of fun)
     (#.sb!vm:closure-header-widetag
      (%simple-fun-name (%closure-fun fun)))
-    ((#.sb!vm:simple-fun-header-widetag
-      #.sb!vm:closure-fun-header-widetag)
+    (#.sb!vm:simple-fun-header-widetag
      ;; KLUDGE: The pun that %SIMPLE-FUN-NAME is used for closure
      ;; functions is left over from CMU CL (modulo various renaming
      ;; that's gone on since the fork).
@@ -68,8 +67,7 @@
   (aver nil) ; since this is unsafe 'til bug 137 is fixed
   (let ((widetag (widetag-of fun)))
     (case widetag
-      ((#.sb!vm:simple-fun-header-widetag
-       #.sb!vm:closure-fun-header-widetag)
+      (#.sb!vm:simple-fun-header-widetag
        ;; KLUDGE: The pun that %SIMPLE-FUN-NAME is used for closure
        ;; functions is left over from CMU CL (modulo various renaming
        ;; that's gone on since the fork).
index 25c1e0f..f639f6c 100644 (file)
   simple-fun-header
   closure-header
   funcallable-instance-header
-  closure-fun-header
+  nil ; this was closure-fun-header; remove when +FASL-FILE-VERSION+ will increase
 
   return-pc-header
   value-cell-header
index fff6768..06d21b3 100644 (file)
@@ -16,7 +16,6 @@
 (defparameter *fun-header-widetags*
   (list funcallable-instance-header-widetag
        simple-fun-header-widetag
-       closure-fun-header-widetag
        closure-header-widetag))
 
 (defun canonicalize-headers (headers)
index 2b78c6a..c4840cc 100644 (file)
@@ -79,7 +79,6 @@ code_pointer(lispobj object)
             break;
         case RETURN_PC_HEADER_WIDETAG:
         case SIMPLE_FUN_HEADER_WIDETAG:
-        case CLOSURE_FUN_HEADER_WIDETAG:
             len = HEADER_LENGTH(header);
             if (len == 0)
                 headerp = NULL;
index 04096e8..acbadae 100644 (file)
@@ -233,7 +233,6 @@ scav_fun_pointer(lispobj *where, lispobj object)
 
     switch (widetag_of(*first_pointer)) {
     case SIMPLE_FUN_HEADER_WIDETAG:
-    case CLOSURE_FUN_HEADER_WIDETAG:
        copy = trans_fun_header(object);
        break;
     default:
@@ -1590,7 +1589,6 @@ gc_init_tables(void)
     scavtab[CODE_HEADER_WIDETAG] = scav_code_header;
 #ifndef LISP_FEATURE_GENCGC    /* FIXME ..._X86 ? */
     scavtab[SIMPLE_FUN_HEADER_WIDETAG] = scav_fun_header;
-    scavtab[CLOSURE_FUN_HEADER_WIDETAG] = scav_fun_header;
     scavtab[RETURN_PC_HEADER_WIDETAG] = scav_return_pc_header;
 #endif
 #ifdef LISP_FEATURE_X86
@@ -1698,7 +1696,6 @@ gc_init_tables(void)
     transother[COMPLEX_ARRAY_WIDETAG] = trans_boxed;
     transother[CODE_HEADER_WIDETAG] = trans_code_header;
     transother[SIMPLE_FUN_HEADER_WIDETAG] = trans_fun_header;
-    transother[CLOSURE_FUN_HEADER_WIDETAG] = trans_fun_header;
     transother[RETURN_PC_HEADER_WIDETAG] = trans_return_pc_header;
     transother[CLOSURE_HEADER_WIDETAG] = trans_boxed;
     transother[FUNCALLABLE_INSTANCE_HEADER_WIDETAG] = trans_boxed;
@@ -1805,7 +1802,6 @@ gc_init_tables(void)
 #if 0
     /* We shouldn't see these, so just lose if it happens. */
     sizetab[SIMPLE_FUN_HEADER_WIDETAG] = size_function_header;
-    sizetab[CLOSURE_FUN_HEADER_WIDETAG] = size_function_header;
     sizetab[RETURN_PC_HEADER_WIDETAG] = size_return_pc_header;
 #endif
     sizetab[CLOSURE_HEADER_WIDETAG] = size_boxed;
index bdfbfda..6e6dd12 100644 (file)
@@ -610,7 +610,6 @@ static void print_otherptr(lispobj obj)
                 break;
 
             case SIMPLE_FUN_HEADER_WIDETAG:
-            case CLOSURE_FUN_HEADER_WIDETAG:
                 print_slots(fn_slots, 5, ptr);
                 break;
 
index 15f54eb..b7b6ecd 100644 (file)
@@ -787,8 +787,7 @@ ptrans_func(lispobj thing, lispobj header)
      * Otherwise we have to do something strange, 'cause it is buried
      * inside a code object. */
 
-    if (widetag_of(header) == SIMPLE_FUN_HEADER_WIDETAG ||
-        widetag_of(header) == CLOSURE_FUN_HEADER_WIDETAG) {
+    if (widetag_of(header) == SIMPLE_FUN_HEADER_WIDETAG) {
 
        /* We can only end up here if the code object has not been
          * scavenged, because if it had been scavenged, forwarding pointers
@@ -1268,7 +1267,6 @@ pscav(lispobj *addr, int nwords, boolean constant)
                 break;
 
               case SIMPLE_FUN_HEADER_WIDETAG:
-              case CLOSURE_FUN_HEADER_WIDETAG:
               case RETURN_PC_HEADER_WIDETAG:
                 /* We should never hit any of these, 'cause they occur
                  * buried in the middle of code objects. */
index f7dfab9..96916bb 100644 (file)
@@ -23,7 +23,7 @@
   (declare (type function fun))
   ;; The Lisp-level type FUNCTION can conceal a multitude of sins..
   (case (sb-kernel:widetag-of fun)
-    ((#.sb-vm:simple-fun-header-widetag #.sb-vm:closure-fun-header-widetag)
+    (#.sb-vm:simple-fun-header-widetag
       (sb-kernel:%simple-fun-arglist fun))
     (#.sb-vm:closure-header-widetag (get-arglist
                                     (sb-kernel:%closure-fun fun)))
index 4fb6f34..e5d65fb 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.4.16"
+"0.8.4.17"